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 };

 

posted @ 2019-08-03 16:07  Yong_无止境  阅读(781)  评论(0编辑  收藏  举报