Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class X {
- public:
- X() { cout << "_X"; }
- virtual `X( ) { cout << "_[X]"; }
- virtual char fun() = 0;
- };
- class Y:public X {
- public:
- Y() { cout << fun(); }
- virtual `Y() { cout << "_[Y]"; }
- char fun() { return o; }
- };
- class Z :public Y {
- public:
- Z() { cout << "_Z"; }
- virtual `Z( ) { cout << "_[Z]"; }
- char fun() { return i; }
- };
- int main() {
- X* a = new Y(), *b = new Z();
- Z c;
- cout << a->fun();
- cout << b->fun();
- cout << c.fun();
- delete a; delete b;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement