多态之纯虚函数抽象类

抽象类概念

类若含有纯虚函数则称类为抽象类

抽象类特点

1.无论在堆区还是栈区,抽象类都无法实例化对象
2.抽象类的子类,必须重写父类中的纯虚函数否则也属于抽象类(可以理解为父类抽象的存在就是为了子类的重写,否则其存在无意义)。

多态案例制作饮品:咖啡,茶等饮品制作步骤大致如下:
1.煮水(Boil)
2.冲泡(Brew)
3.倒入杯中(Pourintocup)
4.加入辅料 (Addaccessories)
但是饮品的不同,在冲泡和加入辅料的操作也不同。

第一步先创建抽象类:
多态之纯虚函数抽象类
第二步:创建子类 咖啡 和茶

多态之纯虚函数抽象类
多态之纯虚函数抽象类

第三步创建工作函数,目的是为了调用父类makeDrink中的虚构函数。

![在这里插入图片描述](https://img-blog.****img.cn/20200811170539994.PNG多态之纯虚函数抽象类
这里dowork传入的是父类抽象类指针,抽象类不可实例化
利用new手动开辟子类对象的地址,但要记得在dowork中释放相应的地址,防止出现 堆区数据内存泄漏
![在这里插入!链机制,建议将保存描多态之纯虚函数抽象类

在main函数中调用测试函数test01

多态之纯虚函数抽象类
运行成功。多态之纯虚函数抽象类

初学者创作