在此,我们将介绍一些基本的C++语法,C++作为一种语言,像人类语言一样,以汉语为例,汉语是由笔画构成字、构成词、词段、段落构成一篇完整的文章。
C++类大小计算
空类的大小为1.为什么了?
因为C++里面每个类都可以实例化,空类也可以,都会为其分配一个地址,所以编译器默认为空类分配一个字节
虚函数和纯虚函数
虚函数子类可以(也可以不)重新定义,纯虚函数子类必须重新定义;拥有寻函数的类会生成一个虚函数表,同时类里面也会多一个指针指向这个虚函数表
虚函数是C++多态的关键,在运行时根据实际运行类去调用他的方法
关于虚函数继承问题:
例子一:子类和父类同时拥有自己的虚函数,不存在这重写父类虚函数情况
内存结构将会是这样,子类父类同一个虚函数表,父类的虚函数在子类前面
多继承问题:
继承多个类,多个父类有自己的虚函数,子类也有,不重写父类方法:
多了2个指针,一共三个
继承时有覆盖父类虚函数:
类大小同上,但是会覆盖父类的虚函数表中的对应的方法
虚继承 class A : public virtual B