虚函数总结
虚函数体现了多态,用virtual修饰 例 virtual viod add(int a,int b);
虚函数类型返回值参数必须相同。虚函数就是定义了基类的指针指向子类从而实现函数的多态,从而实现同种函数的不同功能。虚函数相当于一个入口多个出口 基类的虚函数是入口,通过指向子类实现不同的出口;
1:一般的话 虚函数只需在基类定义就行,但为了便于阅读 在子类也重新覆盖定义;
2:定义虚函数指针时不能出现矛盾
如下(可以理解成 用啥定义就在指向子类的里面找定义的部分)
#include
using namespace std;
class base{
public:
virtual void a(){ cout<<“a() in base\n”;}
virtual void b(){ cout<<“b() in base\n”;}
virtual void c(){ cout<<“c() in base\n”;}
virtual void d(){ cout<<“d() in base\n”;}
virtual void e(){ cout<<“e() in base\n”;}
virtual void f(){ cout<<“f() in base\n”;}
};
class A:public base{
public:
virtual void a(){ cout<<“a() in A\n”;}
virtual void b(){ cout<<“b() in A\n”;}
virtual void f(){ cout<<“f() in A\n”;}
};
class B:pu