类的继承和虚函数
#include <iostream.h> class A { public: virtual void print(void) { cout<<"A::print()"<<endl; } }; class B:public A { public: virtual void print(void) { cout<<"B::print()"<<endl; }; }; class C:public B { public: virtual void print(void) { cout<<"C::print()"<<endl; } }; void print(A a) { a.print(); } void main(void) { A a, *pa,*pb,*pc; B b; C c; pa=&a; pb=&b; pc=&c; a.print(); b.print(); c.print(); pa->print(); pb->print(); pc->print(); print(a); print(b); print(c); }
//总结:
/*子类继承父类,父类的虚函数被子类的所重写。
基类对象调用它的函数,执行基类的函数。子类对象调用它的函数(重载父类的),执行子类的函数。
一个基类指针,指向基类对象,通过指针调用函数,执行其基类自身的函数。一个基类指针,指向子类对象,通过指针调用函数,执行子类的函数。
一个子类对象被传入形参类型为基类的函数中,所执行的函数,调用的是基类的函数。*/
本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232