基类期望派生类继承的函数不能定义为虚函数
2013-05-23 17:33
387 查看
在C++中,基类必须指出希望派生类重定义哪些函数,定义为virtual的函数是基类期望派生类重新定义的,基类期望派生类继承的函数不能定义为虚函数。
输出:base::display
内存结构:
程序正常运行,为什么不能定义为虚函数呢,效率问题?
class Base { public: virtual void display(){ cout << "base::display" << endl;} }; class Derived : public Base { }; int main(int argc, char *argv[]) { Derived d; d.display(); return EXIT_SUCCESS; }
输出:base::display
内存结构:
程序正常运行,为什么不能定义为虚函数呢,效率问题?
相关文章推荐
- 基类中static定义的函数不能为虚函数
- 派生类是否继承基类中的private成员,若继承为何不能在成员函数中访问?
- 构造函数为什么不能为虚函数 & 基类的析构函数为什么要为虚函数
- 编写一个程序定义抽象类有他派生五个派生类 圆 正方形 矩形 梯形 三角形用函数分别求面积 总面积 要求用基类指针数组
- C++中不能被定义为虚函数的函数
- 【6.13】 定义基类Base,其数据成员为高h,定义成员函数disp为虚函数。然后再由High派生出长方体类Cuboid与圆柱体类Cylinder。并在两派生类中定义成员函数disp为虚函数。在主函
- 多态继承情况下,有一个基类指针指向派生类对象,如何用它调用基类的虚函数?
- !!!!!!!!!!!!!!!!C++:派生类中重定义基类的成员函数与虚函数区别在哪里?
- 《第十三周任务三》写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体
- 友元关系与继承以及基类派生类定义构造函数时应该注意的事项
- 派生类内只能定义派生类新增加的成员而不能定义基类成员
- 飛飛(四十七)定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- C++ 类继承(廿一)--基类、派生类、多态继承、公有继承、私有继承、虚函数、保护继承、多重继承
- C++父类定义虚函数其派生类的同名函数使用virtual关键字吗?
- C++ primer 这本书上有这么两句话“派生类虚函数调用基类版本时,必须显式使用作用域操作符。如果派生类函数忽略了这样做,则函数调用会在运行时确定并且将是一个自身调用,从而导致无穷递归。”
- 假设派生类继承自两个基类,而两个基类中有同名虚函数,问虚表
- 声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak()
- C++对象内存布局--③测试多继承中派生类的虚函数在哪一张虚函数表中
- 多继承(非虚继承)派生类对象内存结构(基类有虚函数)
- 派生类可以恢复继承成员的访问级别, 但不能使访问级别比基类中原来指定的更严格或更宽松 [C++Primer Page484 : 2去除个别成员]