一、放在父类的函数名前面:多态
1.作用:实现多态:子类可以自定义父类中的virtual函数
#include <iostream> using namespace std; class A { public: void display() { cout << "class a" <<endl; } }; class B : public A { public: void display() { cout << "class b"<<endl; } }; void doDisplay(A *p) { p->display(); delete p; } int main(int argc,char* argv[]) { doDisplay(new B()); return 0; }
结果显示:class b
如果去掉class a中的virtual,结果显示:class a
二、放在子类的继承方式前面:虚继承(用的少)
1.作用:避免重复构造或析构