构造函数:初始化对象的内存空间
析构函数:释放对象所占资源
1、this指针:指向的是对象的空间地址
2、构造函数、析构函数的顺序
先构造的后析构,后构造的先析构
3、构造函数、析构函数能不能重载
构造函数可以重载
析构函数不可以重载
4、构造函数与析构函数能否自己调用
构造函数不可以自己调用
析构函数可以自己调用,但一般不建议自己调用
5、默认的构造、析构函数
用户提供则系统不会提供
拷贝构造函数:
1、作用:拿一个已存在的对象来生成一个相同类型的新对象
2、形参必须引用防止形参对象构造递归构造
3、默认的拷贝构造函数是浅拷贝,如果有指针类型存在需要考虑是否实现深拷贝
赋值运算符重载函数:
作用:
1、拿一个已存在的对象来给另一个已存在的对象赋值
2、形参的const是防止修改实参的值和接受隐式生成的临时对象
临时量:
1、内置类型临时量为常量,存储器中存放
2、自定义类型产生的临时量为变量,在内存中存放
3、隐士生成临时量也是常量
临时对象的生存周期在表达式结束后
隐式生成临时对象如:good3=“good3”;
显式生成临时对象如:good3=CGoods("good3");