C++中的空类_c++学习笔记

什么是空类?

class A
{
    //这就是一个空类
};

有关空类的知识点:

  1. 空类,在内存中所占大小为1。
  2. 只要不是空类,那么其所占空间大小的求法与结构体所占内存大小的求法是一样的。
  3. 类中,包含了一个虚函数,则类的大小加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 };

 

 

 

 

posted @ 2021-10-26 10:44  码字小白  阅读(353)  评论(0)    收藏  举报