该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104992486
类的默认函数
简介
在C++中,一个类有八个默认函数:
1、默认构造函数
2、默认拷贝构造函数
3、默认析构函数
4、默认重载赋值运算符函数
5、默认重载取址运算符函数
6、默认重载取址运算符const函数
7、默认移动构造函数(C++11)
8、默认重载移动赋值操作符函数(C++11)
只是声明一个空类,不做任何事情的话,编译器会自动为你生成一个默认构造函数、一个默认拷贝构造函数、一个默认重载赋值操作符函数和一个默认析构函数。这些函数只有在第一次被调用时,才会被编译器创建,当然这几个生成的默认函数的实现就是什么都不做。所有这些函数都是inline和public的。
我们不希望对象被显示构造(单列模式)或赋值,可以将对应函数声明为private,或者写一个基类,开放部分默认函数,子类去继承就可以了。C++11新增标识符default和delete,控制这些默认函数是否使用。
default:被标识的默认函数将使用类的默认行为,如&