多态中,通常父类中的虚函数的实现是毫无意义的,主要都是调用重写的内容
纯虚函数语法virtual返回值类型 函数名 (参数列表) = 0
当类中了纯虚函数,这个类也称为抽象类
抽象类的特点:
- 无实例化对象
- 子类必须重写抽象类中的虚函数,否则也属于抽象类
class Base
{
public:
//纯虚函数
//类中只要一个纯虚函数就称为抽象类
//抽象类必须重写父类中的纯虚函数,否则也属于抽象类
virtual void func() = 0;
};
class Son :public Base
{
public:
virtual void func()
{
cout << "func调用" << endl;
}
};
void test01()
{
Base* base = NULL;
//base = new Base;//抽象类无法实例化对象
base = new Son;
base->func();
delete base; //记得销毁
}
int main()
{
test01();
return 0;
}