C++程序设计教程笔记之抽象类
live long and prosper
子类需要重写父类中的成员函数,父类就没有必要编写完整的成员虚函数,由此,可以编写纯虚函数,父类无法实例化对象,父类成为抽象类
#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 = new Son;
base->func();
}
int main()
{
test();
return 0;
}
既然基类是因为不能给函数做出实际的定义而采用纯虚函数,那直接不要声明、定义,交给给派生类去做。