您的位置:首页 > 编程语言 > C语言/C++

C++类总结

2014-02-19 22:05 197 查看
一、内存大小(所谓占内存是使用sizeof函数能计算出来的大小)

空类占一个字节。

一般成员变量占内存,静态成员变量不占内存,因为静态成员变量被放在全局变量中。

一般成员函数不占内存,因为函数存放在代码段中,sizeof是计算数据段的大小。

所有的虚函数占四个字节的大小,存储虚函数表的首地址。

类成员变量内存对齐方式与struct类似。

子类内存大小是父类内存大小与成员变量内存大小之和。

二、虚函数表

每个存在虚函数的类有一个虚函数表,虚函数表的指针存在于对象实例中最前面的位置。

虚函数在虚函数表中位置是按照申明顺序存放。

被重载的虚函数在虚函数表中的位置的值被更新,没有被重载的函数依旧。

三、静态成员

当将类的某个成员变量声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享,用途之一是统计有多少个对象实际存在,不能在类中初始化(构造函数中
也不能)。

静态成员函数不能调用非静态成员变量,要通过类的对象来调用。

静态成员函数在类外实现时候不能加static关键字。

静态成员函数没有this指针,它不能返回非静态成员。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: