#include <iostream>
using namespace std;
class Base{
public:
virtual int fcn(){cout << "base.fcn()" << endl;};
};
class D1: public Base{
public:
int fcn(int){cout <<"d1.fcn(int)" << endl;};
};
class D2: public D1{
public:
int fcn(int){cout << "d2.fcn(int)"<< endl;};
int fcn(){ cout << "d2.fcn()" << endl;};
};
void test(){
Base bobj;
D1 d1obj;
D2 d2obj;
Base *bp1 = &bobj, *bp2=&d1obj, *bp3=&d2obj;
bp1->fcn();
bp2->fcn();
bp3->fcn();
}
int main()
{
test();
cout << "Hello world!" << endl;
return 0;
}
、、、、、、、、、、、、、、、、
输出:
base.fcn()
base.fcn()
d2.fcn()
Hello world!