在多态里,我们可以发现虚函数的实现没有意义,主要是调用子类重写的内容
因为可以将该虚函数改为纯虚函数
纯虚函数语法:virtual 返回值类型 函数名(参数列表)=0;
当类中有了纯虚函数,这个类被称为抽象类
抽象类的特点:
- 无法实例化对象
- 子类必须重写父类的纯虚函数,否则也为抽象类
#include<iostream>
using namespace std;
class Base
{
public:
virtual void func() = 0;
};
class Son:public Base
{
public:
virtual void func()
{
cout << "func的调用" << endl;
}
};
void test()
{
Base * base = NULL;
base = new Son;
base->func();
delete base;
}
int main(){
test();
system("pause");
return 0;
}