设为首页 加入收藏

TOP

C++中的虚析构函数、纯虚析构函数详解(二)
2015-11-21 00:59:48 来源: 作者: 【 】 浏览:5
Tags:函数 详解
定义为纯虚函数,实际上是将这个类定义为抽象类,不能实例化对象。

纯虚函数通常没有定义体,但也完全可以拥有, 甚至可以显示调用。

析构函数可以是纯虚的,但纯虚析构函数必须有定义体,因为析构函数的调用是在子类中隐含的

非纯的虚函数必须有定义体,不然是一个错误。

派生类的override虚函数定义必须和父类完全一致(c++11中使用override进行编译器检查)。除了一个特例,如果父类中返回值是一个指针或引用,子类override时可以返回这个指针(或引用)的派生。例如,在上面的例子中,在Base中定义了 virtual Base* clone(); 在Derived中可以定义为 virtual Derived* clone()。可以看到,这种放松对于Clone模式是非常有用的(也就是说override并不会检查返回值类型)。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C Language Study - 函数指针的使.. 下一篇LightOJ - 1027 A Dangerous Maze..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: