立即学习:https://edu.csdn.net/course/play/9186/191700?utm_source=blogtoedu
//一: 重载运算符
// ==,+=......--;
//if (myTime == myTime2)
//{
//
//}
//两个对象是可以进行类比较 ,我们需要重载 == 运算符;
// 重载说白了 我们要写一个成员函数 ,这个函数名 “operator== ” ,z这个成员函数体里面, 我们就要写一些比较逻辑
//
//正式总结一下
// 重载运算符 ,本质上是一个函数。 整个函数的正式名 : operator关键字 接 运算符
// 既然重载运算符本质上是一个函数, 那么就会有返回类型和参数列表
//有一些运算符 ,如果我们不自己写 该运算符的重载, 那么系统就会自动生成 比如赋值运算符
/*Time myTime;
Time myTime2;
myTime2 = myTime;*/
//拷贝赋值运算符
//Time myTime;
//Time myTime2 = myTime;
//Time myTime5 = { myTime };
//
//Time myTime6;
//myTime6 = myTime5; //既没调用赋值运算符 , 既没有调用构造函数 也没有调用拷贝构造函数
// //系统会调用一个 ,拷贝运算符
//我们可以自己生成的赋值运算符
//myTime6就是this对象。 myTime5就是operator等号了里边的参数
// 三 :析构函数 : 相对于构造函数 对象在销毁的时候 会自动调用析构函数
// 如果我们自己不写自己的析构函数 ,编译器也会生成一个默认的析构函数为空{},
// 构造函数里 new,delete.
//析构函数 也是类的成员函数 ,它的名字是由 ~接类名构成的 ,没有返回值 不接受任何参数 不能被重载
//构造函数的成员初始化 : 干了两个事函数体之前 函数体之中。
//析构函数的成员销毁:也干了两个事 函数体 函数体之后;
//成员变量的初始化 和销毁的时机问题
//new对象和delete对象。
Time* pmytime5 = new Time;//调用的也是不带参数的构造函数
Time* pmytime6 = new Time();//调用不带参数的构造函数
//但是我们new出来的东西 系统不会释放 必须自己释放 否则就会内存泄漏
delete pmytime5;
delete pmytime6;