C/Cpp / 构造函数种类
生活随笔
收集整理的这篇文章主要介绍了
C/Cpp / 构造函数种类
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
2018-03-15 创建人:Ruo_Xiao
开发环境:VS2010
邮箱:xclsoftware@163.com2018-04-16 修改人:Ruo_Xiao
添加对类型转换构造函数隐式转换的抑制使用的说明,即:explicit。2019-06-19 修改人:Ruo_Xiao
修正对转换构造函数的说明。
一、默认构造函数(无参数构造函数)
Father() {std::cout<<"我是默认构造函数!"<<std::endl;std::cout<<std::endl; }2、一般构造函数(重载构造函数)
- 这种构造函数类中可以有多个,但是形参类型或者个数不能相同,需要满足C++重载原理。
- 栗子:
3、复制构造函数,即:拷贝构造函数
- 拷贝构造函数参数为类对象本身的引用,用于根据一个已存在的对象复制出一个新的该类的对象。
- 若没有显示的写拷贝构造函数,则系统会在适当的时候创建一个默认的拷贝构造函数
- 栗子:
4、转换构造函数
- 条件:构造函数只有一个参数,而且该参数不是本类的const引用。
- 作用:相当于C语言隐式类型转换,相当于 类Test t = 100; // 就是t = Test(100);
- 栗子:
- 上述属于隐式转换,若不编写者不想让调用者执行该操作,即:必须显示调用。则在构造函数声明前面加上“explicit”即可。
5、等号运算符重载构造函数(赋值构造函数)
- 作用:两个对象的数据成员进行赋值。
- 条件:等号两边的对象必须已经创建。
- 栗子:
(SAW:Game Over!)
总结
以上是生活随笔为你收集整理的C/Cpp / 构造函数种类的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Cpp 对象模型探索 / 深浅拷贝
- 下一篇: Cpp 对象模型探索 / 成员初始化列表