当类中有了纯虚函数,这个类也就是抽象类,
抽象类的特点:
无法实例化对象
子类必须重写抽象类中的纯虚函数,否则也属于抽象类
纯虚函数语法:
virtual 返回值类型 函数名 (参数列表)=0
#include <iostream> class AbstractDrink{ public: //煮水 virtual void Boil()=0; //冲泡 virtual void Brew()=0; //倒入杯中 virtual void PourInCup()=0; //加入辅料 virtual void PutSomething()=0; //制作 void makeDrink(){ Boil(); Brew(); PourInCup(); PutSomething(); } }; class Coffee:public AbstractDrink{ virtual void Boil(){ std::cout<<"煮农夫山泉"<<std::endl; }; //冲泡 virtual void Brew(){ std::cout<<"冲泡"<<std::endl; }; //倒入杯中 virtual void PourInCup(){ std::cout<<"倒入杯中"<<std::endl; }; //加入辅料 virtual void PutSomething(){ std::cout<<"加入糖和牛奶"<<std::endl; }; }; class Tea:public AbstractDrink{ virtual void Boil(){ std::cout<<"煮矿泉水"<<std::endl; }; //冲泡 virtual void Brew(){ std::cout<<"冲泡"<<std::endl; }; //倒入杯中 virtual void PourInCup(){ std::cout<<"倒入杯中"<<std::endl; }; //加入辅料 virtual void PutSomething(){ std::cout<<"加入枸杞"<<std::endl; }; }; //制作函数 void doWork(AbstractDrink *abs){ abs->makeDrink(); delete abs; } int main(){ doWork(new Coffee); }
标签:函数,void,virtual,纯虚,抽象类,Boil From: https://www.cnblogs.com/gishuanhuan/p/18090494