当类中没有定义任何一个构造函数时,c++编译器会提供默认无参构造函数和默认拷贝构造函数
#include#include #include #include using namespace std; class Test1{ public: void print(){ cout< a< b< 2、第二种规则 当类中定义了拷贝构造函数时,c++编译器不会提供无参数构造函数
#include#include #include #include using namespace std; class Test1{ public: //有参构造函数 Test1(int a,int b) { this->a = a; this->b = b; cout<<"有参构造函数"< a< b< 3、第三种规则 当类中定义了任意的非拷贝构造函数(即:当类中提供了有参构造函数或无参构造函数),c++编译器不会提供默认无参构造函数
#include#include #include #include using namespace std; class Test1{ public: //有参构造函数 Test1(int a,int b) { this->a = a; this->b = b; cout<<"有参构造函数"< a< b< 4、第四种规则 默认拷贝构造函数成员变量简单赋值



