纯虚函数:
-
使用抽象类的原因:在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容;
-
纯虚函数语法: virtual 返回值类型 函数名 ( 参数列表 ) = 0;
-
当类中有了纯虚函数,这个类也称为抽象类;
-
抽象类的特点:
- 无法实例化对象;
- 子类必须重写抽象类中的纯虚函数,否则也属于抽象类,则无法实例化对象;
class Base {
public:
virtual void funcPrint() = 0;
};
class Son :public Base {
public:
void funcPrint() {
cout << "调用了子类的func()" << endl;
}
};
int main() {
//Son s; 子类必须重写父类中的虚函数,否则无法实例化对象;
//利用多态的方法进行调用——父类指针指向子类对象;(函数中为父类引用指向子类对象)
Base * son = new Son;
son->funcPrint();
system("pause");
return 0;
}
案例引用:制作饮品
class AbstractDrinking {
public:
//煮水
virtual void Boil