C++之构造函数的理解总结
构造函数:
与类同名,用于初始化的一种函数。定义写法与普通函数相同
构造函数和无参构造函数不冲突。(即有参数)。
有时要用到无参构造函数-----无参构造函数:
无参构造函数函数分为两种:
- 默认构造函数:
c++必须有构造函数,没有就会添加默认构造函数。
默认构造函数就是初始化为0;
一般是不需要显示定义,就是自己定义的。但用到对象数组时,就必须显示定义。
定义方式就是普通函数,但无参数
调用时,数组同指针一样,再用类函数时,可用-> 。数组也可用.xx表示,但要表明数组下标。
- 缺省参数构造函数:
就是初始化为别的值的构造函数。
在构造函数声明参数是,赋值。
默认构造函数和缺省构造函数一般只定义一个,都定义容易产生二义性冲突。
构造函数可以重载,但必须有不同的函数原型。
拷贝构造函数:
给类的对象初始化为类时,或者以对象作为参数时,会调用拷贝构造函数。
未定义编译器就会自己产生,但是有关指针的数据成员时,默认的拷贝构造函数就会出现指针悬挂问题。
自己定义构造函数时,和一般的构造函数一样,与类同名,没有返回类型,可以重载。
拷贝构造函数的参数常常是const类型的对本对象的引用。
析构函数:
在生命周期结束时,完成对对象的清理。
有什么错误之处,还希望大家多多指出^_^
有什么错误之处,还希望大家多多指出^_^