C++中的空类_c++学习笔记
什么是空类?
class A { //这就是一个空类 };
有关空类的知识点:
- 空类,在内存中所占大小为1。
- 只要不是空类,那么其所占空间大小的求法与结构体所占内存大小的求法是一样的。
- 类中,包含了一个虚函数,则类的大小加4。 这4个字节是指向虚表的指针,指向虚表的指针和虚函数的数量没有关系。
为什么空类在内存中大小是1字节呢?
因为空类也可以被实例化,每个实例在内存中都是有地址的,所以编译器会给空类隐含的加一个字节
空类中有哪些默认函数呢?
1 2 //空类中的默认函数如下 3 class Empty 4 { 5 public: 6 Empty(){ 7 8 } // 默认构造函数 9 10 Empty(const Empty& rhs){ 11 12 }// 默认拷贝构造函数 13 14 ~Empty(){ 15 16 }// 默认析构函数 17 18 Empty& operator=(const Empty rhs){ 19 20 }// 重载赋值操作运算符 21 22 Empty* operator & () // 取地址运算符 23 24 const Empty* operator &() const; //取地址运算符const 25 26 };

浙公网安备 33010602011771号