调用虚函数的方法:
- 只有使用指针和引用才能实现多态性(如果在虚函数没有采用指针或者引用,那么就无法实现动态联编)
class father{public:virtual void run()const { cout << "父亲可以跑万米" << endl; }};class son:public father{public:void run()const { cout << "儿子可以跑万米" << endl; }};void one(father fa){fa.run();//调用父类的函数 没有动态联编}void two(father *fa){fa->run();//调用子类的函数}void three(father &fa){fa.run();//调用子类的函数}int main(){father *p = new son;one(*p);two(p);three(*p);return 0;}
- 只有使用指针和引用才能实现多态性(如果在虚函数没有采用指针或者引用,那么就无法实现动态联编)