C++基础语法—C++类大小计算

格桑2021-12-08 13:22

  在此,我们将介绍一些基本的C++语法,C++作为一种语言,像人类语言一样,以汉语为例,汉语是由笔画构成字、构成词、词段、段落构成一篇完整的文章。

C++基础语法—C++类大小计算

  C++类大小计算

  空类的大小为1.为什么了?

  因为C++里面每个类都可以实例化,空类也可以,都会为其分配一个地址,所以编译器默认为空类分配一个字节

  虚函数和纯虚函数

  虚函数子类可以(也可以不)重新定义,纯虚函数子类必须重新定义;拥有寻函数的类会生成一个虚函数表,同时类里面也会多一个指针指向这个虚函数表

  虚函数是C++多态的关键,在运行时根据实际运行类去调用他的方法

  关于虚函数继承问题:

  例子一:子类和父类同时拥有自己的虚函数,不存在这重写父类虚函数情况

  内存结构将会是这样,子类父类同一个虚函数表,父类的虚函数在子类前面

C++基础语法—C++类大小计算

  多继承问题:

  继承多个类,多个父类有自己的虚函数,子类也有,不重写父类方法:

  多了2个指针,一共三个

C++基础语法—C++类大小计算

  继承时有覆盖父类虚函数:

  类大小同上,但是会覆盖父类的虚函数表中的对应的方法

  虚继承 class A : public virtual B