立即学习:https://edu.csdn.net/course/play/9186/191699?utm_source=blogtoedu
//一: 拷贝构造函数
//int a = 6;
//int b = a;
默认情况下 类对象的拷贝是成员变量的逐个拷贝
//如果一个类的构造函数的 第一个参数 是所属的类型的引用 如果还有其他额外函数 那么额外的参数,
//那么这些额外的参数默认值
//函数默认参数必须放在 函数声明中 除非该函数没有函数声明
//拷贝构造函数的作用:
// 建议拷贝构造函数第一个参数总是带着const ,
//一般不要声明为explicit
// “成员变量逐个拷贝”的功能因为我们自己定义的拷贝构造函数的存在 丢失了作用
// 或者说我们自己的 “拷贝构造函数” 取代了系统的 每个成员逐个拷贝
//a) 如果我们没有为类定义一个 拷贝构造函数 : 编译器就会为我们定义一个 “合成拷贝构造函数”
//b) 如果是编译器给我们合成的拷贝构造函数 ;
//c) 每个成员的类型决定了它如何拷贝 ,比如说成员变量如果是整型
//Time myTime; //这个会调用默认的构造函数(不带参数)
//Time myTime2 = myTime; //调用了拷贝构造函数
//Time myTime3( myTime ); //调用了拷贝构造函数
//Time myTime4{ myTime }; //调用了拷贝构造函数
//Time myTime5 = { myTime };//调用了拷贝构造函数
//Time myTime6; //这个会调用默认的构造函数(不带参数)
//myTime6 = myTime5;
func();