C++语法小记---经典问题之一(一个空类包含什么)

Posted chusiyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++语法小记---经典问题之一(一个空类包含什么)相关的知识,希望对你有一定的参考价值。

问题:一个空类包含什么

  • 空的构造函数

  • 拷贝构造函数(浅拷贝)

  • 重载赋值操作符函数(浅拷贝)

  • 析构函数

  • 取址运算符

  • 取址运算符const

 

注意

  • 所有的这些默认函数,只有在代码中调用了才会生成,否则也不会生成

 

例子

 1 class Test1
 2 
 3 
 4 ;
 5 
 6 // Test1等价于Test2
 7 
 8 class Test2
 9 
10 public:
11     Test2()                                    // 空的构造函数
12     
13     Test2(Test2& t)                            // 拷贝构造函数(浅拷贝)
14     
15     Test2& operator=(const Test2& other)    // 重载赋值操作符函数(浅拷贝)
16     
17     Test2* operator & ();                      // 取址运算符
18     
19     const Test2* operator & () const;       // 取址运算符const
20 
21     ~Test2()                                // 析构函数
22 ;

 

以上是关于C++语法小记---经典问题之一(一个空类包含什么)的主要内容,如果未能解决你的问题,请参考以下文章

逆向程序分析:C++的一个空类,为什么在内存中占1字节

C++语法小记---如何判断一个变量是不是指针

C++语法小记---面向对象模型(实例的内存分布)

C++语法小记---运算符重载

C++语法小记---string和int的相互转换

C++之类和对象