C++虚函数

虚函数是因为基类和派生类的特殊关系才产生的

使用方式是直接在函数名前加 virtual

主要作用是使派生类用自己的fun函数,而不是用基类的fun函数(fun函数只是举例)。

因为基类的函数先产生而派生类的需求是后产生的,这两者有一个年代差,所以基类的fun函数满足不了派生类的需求,要派生类自己定义一个fun函数来代替它。在写基类的时候,在特定函数的前面加上virtual,可以使派生类调用自己的fun函数,而不是基类的。这样实现了功能的进步和多样性。


纯虚函数  virtual void fun() = 0;   不需要写关于纯虚函数的定义,该函数也不能被调用。其实它只是把这个名称继承到子类,然后再由子类进行定义。

这样做是因为这个函数在不同的派生类有不同的实现方法,基类用不到它。


把基类的析构函数设为虚函数,这很好理解,写子类的析构函数时不需要再写virtual。


有个例子:

Base *pBase = new Derived;
   . . .   
delete pBase;

假设Derived类是Base的派生类,并且类Base的析构函数被标记为virtual。

那么在delete的时候,程序会先调用Derived的析构,再调用Base的析构。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值