在c++中,如果一个派生类没有重写基类中对应的虚函数,那么在派生类的构造函数中依然会创建虚指针,但是该虚指针指向的是基类的虚表。

#include <iostream>
#include <string>class Base {
public:virtual void foo() {std::cout << "Base::foo" << std::endl;    }
};class Derived : public Base {};int main() {Base b;Derived d;std::cout << "sizeof(b)=" << sizeof(b) << std::endl;std::cout << "sizeof(d)=" << sizeof(d) << std::endl;return 0;
}

在X64下结果如下:

在线编译运行工具:C++ Shell

在c++中,如果派生类没有重写基类中对应virtual函数会怎样?相关推荐

  1. [建立基类Building,作为楼房类,这个基类中包含楼房层数、房间数、楼房总面积等。再建立派生类Home_Arch、Office_Building和Hospital,分别作为住宅楼类、办公楼类和医院

    [建立基类Building,作为楼房类,这个基类中包含楼房层数.房间数.楼房总面积等.再建立派生类Home_Arch.Office_Building和Hospital,分别作为住宅楼类.办公楼类和医院 ...

  2. 基类、派生类、虚基类、虚函数、虚析构、纯虚函数、抽象类

    基类:被其它类通过继承方式作为父类继承的类称为基类:描述派生类的统一种类的方式. 派生类:通过继承其他类(并可能含有自定义成员)实现的子类:为提高代码的重用性及与同样继承于同一个父类的其它类形成统一种 ...

  3. c++中的虚特性(虚基类、虚函数、纯虚函数)

    1. 虚基类 1.1 虚基类作用 为了解决多继承时的命名冲突和冗余数据问题,使得派生类中只保留一份间接基类的成员. 其本质是是让某个类做出声明,承诺愿意共享它的基类.其中,这个被共享的基类就称为虚基类 ...

  4. 【C++】继承和派生、虚继承和虚基类、虚基类表和虚基类指针

    继承和派生.虚继承和虚基类.虚基类表和虚基类指针 继承和派生 继承概述 继承基本概念 派生类中的成员 继承的内容 派生类定义 派生类访问控制 对象构造和析构 对象构造和析构的调用顺序 继承中的构造和析 ...

  5. C++中的虚继承与虚基类

    1.Cpp中的虚继承与虚基类 在多继承时,很容易产生命名冲突的问题,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如典型的是菱形继承,如下图所示: 类A派 ...

  6. C++将派生类赋值给基类(向上转型)(一)

    在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值:反过来,float 类型的数据在 ...

  7. C++派生类对象和基类对象赋值

    在C++中,我们允许 将派生类对象赋给基类对象.(不允许将基类对象赋给派生类对象) 只会将基类对象成员赋值 用基类指针指向派生类对象.(不允许用派生类指针指向基类对象) 基类指针只能操作基类中的成员 ...

  8. T5 根据派生类写出基类(Java) (10分)

    6-1 根据派生类写出基类(Java) (10分) 裁判测试程序样例中展示的是一段定义基类People.派生类Student以及测试两个类的相关Java代码,其中缺失了部分代码,请补充完整,以保证测试 ...

  9. PTA 6-2 根据派生类写出基类(Java)

    6-2 根据派生类写出基类(Java) 裁判测试程序样例中展示的是一段定义基类People.派生类Student以及测试两个类的相关Java代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行 ...

最新文章

  1. Github标星5.4k+:常见NLP模型的代码实现(基于TensorFlow和PyTorch)
  2. Python -bs4介绍
  3. linux:使用python脚本监控某个进程是否存在(不使用crontab)
  4. [react] React根据不同的环境打包不同的域名?
  5. python模块分类_Python-模块分类及导入
  6. 安卓调用系统录像功能:1、启动录像返回视频,2、启动录像将视频存储在指定路径下
  7. 纯干货:手把手教你用Python做数据可视化(附代码)
  8. Docker破解AWVS和Nessus
  9. 如何使用ModSim32模拟ModbusRTU数据?
  10. 循环链表解决约瑟夫问题
  11. 论初唐诗人的历史地位-上官仪、王勃、杨炯、陈子昂、杜审言
  12. QT中主线程终止子线程中的死循环
  13. c++ hash函数
  14. b站python弹幕签到_B站弹幕实时效果python
  15. 1028: 安全路径(2014年中南大学研究生复试机试题 )
  16. 新手如何看k线(图) .
  17. 基于Springboot+Vue网上试衣镜服装穿搭网站设计
  18. MySql------存储引擎(InnoDB,ISAM)
  19. 【实用工具】magic-api接口快速开发框架
  20. 《毕业生》系列之四 霸面天源迪科

热门文章

  1. HTML5与搜索引擎优化[转载]
  2. zabbix2.2入门教程之编译安装(一)
  3. 使用RMAN备份数据库
  4. H.264可伸缩编码SVC
  5. 两个指针变量可以相减
  6. varnish-cache使用
  7. reboot重启失败的解决方法
  8. 两个class写在同一个java文件中
  9. 使用pip安装virtualenv时出现问题
  10. 机器学习中qa测试_如何对机器学习做单元测试