(1)当类中没有定义任何一个构造函数时,c++编译器会提供默认无参构造函数和默认拷贝构造函数;
(2)当类中定义了拷贝构造函数时,c++编译器不会提供无参数构造函数;
(3)当类中定义了任意的非拷贝构造函数(即:当类中提供了有参构造函数或有参函数),c++编译器不会提供无参构造函数;
(4)默认拷贝构造函数成员变量简单赋值。
总结:只要你写了构造函数,那么你必须用。
2.构造析构阶段性总结
(1)构造函数是c++中用于初始化对象状态的特殊函数;
(2)构造函数在对象创建时自动被调用;
(3)构造函数和普通成员函数都遵循重载规则;
(4)拷贝构造函数是对象正确初始化的重要保证;
(5)必要的时候,必须手工编写拷贝构造函数。