友元函数加多态
#include <iostream>
using namespace std;
class A;
ostream & operator<< (ostream &os, const A &aa);
class B;
ostream & operator<< (ostream &os, const B &bb);
class A
{
private:
int i;
public:
A()
{
i = 100;
}
friend ostream & operator<< (ostream &os, const A &aa);
};
class B:public A
{
private:
int j;
public:
B()
{
j = 222222;
}
friend ostream & operator<< (ostream &os, const B &bb);
};
int main()
{
A aa;
B bb;
/*下面实现多态*/
A * p;
p = &aa;
cout << *p << endl; //输出的是 aa对象
p = &bb;
cout << *p << endl; //输出的是 bb对象
return 0;
}