默认成员函数之拷贝构造与运算符重载

拷贝构造:

创建对象时使用同类对象来进行初始化,这时所用的构造函数称为拷贝构造函数(Copy Constructor),拷贝构造就是构造函数的重载

特点:

  1. 拷贝构造的参数必须使用引用参数,不然将会再次引发拷贝构造,造成无穷递归调用
  2. 如果未定义,系统会默认缺省的拷贝构造函数,缺省的拷贝构造函数会依次拷贝类成员并进行初始化。
  3. 系统缺省的拷贝都是浅拷贝(也就是值拷贝),当拷贝对象都是数值时这样的拷贝没有问题,但一旦出现指针就会出错

运算符重载:

作用:增强程序的可读性

特征:

  1.  operator+ 合法的运算符 构成函数名(重载<运算符的函数名:operator< )。
  2. 重载运算符以后,不能改变运算符的优先级/结合性/操作数个数。
  3. 拷贝构造函数是创建的对象,使用一个已有对象来初始化这个准备创建的对象。赋值运算符的重载是对一个已存在的对象进行拷贝赋值。

重要知识点:

5个C++不能重载的运算符: .*/::/sizeof/?:/.


猜你喜欢

转载自blog.csdn.net/enjoymyselflzz/article/details/81002209