您的位置:首页 > 编程语言 > C语言/C++

C++虚函数

2015-08-15 18:22 260 查看
虚函数是因为基类和派生类的特殊关系才产生的

使用方式是直接在函数名前加 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的析构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: