C++类总结

来源:互联网 发布:网络诈骗的种类有哪些 编辑:程序博客网 时间:2024/05/22 05:00

一、内存大小(所谓占内存是使用sizeof函数能计算出来的大小)

  1. 空类占一个字节。
  2. 一般成员变量占内存,静态成员变量不占内存,因为静态成员变量被放在全局变量中。
  1. 一般成员函数不占内存,因为函数存放在代码段中,sizeof是计算数据段的大小。
  1. 所有的虚函数占四个字节的大小,存储虚函数表的首地址。
  2. 类成员变量内存对齐方式与struct类似。
  3. 子类内存大小是父类内存大小与成员变量内存大小之和。

二、虚函数表

  1. 每个存在虚函数的类有一个虚函数表,虚函数表的指针存在于对象实例中最前面的位置。
  2. 虚函数在虚函数表中位置是按照申明顺序存放。
  3. 被重载的虚函数在虚函数表中的位置的值被更新,没有被重载的函数依旧。

三、静态成员

  1. 当将类的某个成员变量声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享,用途之一是统计有多少个对象实际存在,不能在类中初始化(构造函数中也不能)。
  2. 静态成员函数不能调用非静态成员变量,要通过类的对象来调用。
  3. 静态成员函数在类外实现时候不能加static关键字。
  4. 静态成员函数没有this指针,它不能返回非静态成员。

 

0 0