C++多态:(1)纯虚函数和抽象类、虚析构

本文介绍了C++中的纯虚函数和抽象类的概念,强调了它们在多态中的作用。纯虚函数使得类成为抽象类,无法实例化,而子类必须重写这些函数。同时,讨论了虚析构函数和纯虚析构函数,解释了它们在处理子类中堆区资源释放的重要性,并总结了何时使用虚析构或纯虚析构。
摘要由CSDN通过智能技术生成

纯虚函数:

  • 使用抽象类的原因:在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容;

  • 纯虚函数语法: virtual 返回值类型 函数名 ( 参数列表 ) = 0;

  • 当类中有了纯虚函数,这个类也称为抽象类;

  • 抽象类的特点:

  1. 无法实例化对象;
  2. 子类必须重写抽象类中的纯虚函数,否则也属于抽象类,则无法实例化对象;
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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值