虚函数和虚析构函数对比:
- 虚函数:在类中声明后,这个函数可实现,也可不实现为空;虚函数的作用,为了能够让这个函数在它的子类里面可以被覆盖,这样编译器就可以使用后期绑定来达到多态; 纯虚函数:只是一个接口,是个函数声明,函数的具体实现在子类种去实现;
- 虚函数:在子类中可以不重载的; 纯虚函数:必须在子类中去实现;
- 虚函数:继承接口的同时也继承了父类的实现,也可以在子类中完成自己的实现; 纯虚函数:接口的统一,实现由子类完成;
- 带纯虚函数的类,叫虚基类。这种基类不能生成对象,而只有被继承,并重写虚函数后,才能使用。
- 抽象类:抽象类被继承后,子类可以继续是抽象类,也可以是普通类; 虚基类:是含有纯虚函数的类,它如果被继承,那么子类就必须实现虚基类里面的所有纯虚函数,其子类不能是抽象类。
纯虚函数:在类的成员函数前面加virtual关键字,后面加=0的函数
- 声明纯虚函数的类是一个抽象类,该抽象类不能够被实例化;只能