C/C++
NYcc
Carplay开发菜鸡
展开
-
赋值运算符重载函数,在工程里为什么总是私有private的?
序 1.原因 2.问题举例 3.解决——显式定义私有赋值运算符重载 4.解决——形参使用const限定 正文 原因 在实际工程中,类对象经常作为函数参数实参传递出去,形参通使用引用接收。引用被再次赋值之后,虽然还是初始化时候的对象引用,但对象的值已经被改变。需要将赋值运算符重载为private,或者将引用设定为const来避免这种意外的赋值。 问题举例 执行A.plusplus时,将B作为实参传入,形参p是B的引用。 但plusplus函数中执行了p=0(可能是随手的误写),等价于B=0。即是将原创 2020-08-24 13:27:50 · 552 阅读 · 0 评论 -
C/C++拷贝构造函数举例
C/C++拷贝构造函数举例 目录 1.拷贝构造函数定义 2.默认拷贝构造函数 3.显式拷贝构造函数 4.参数传递时,调用拷贝构造函数 正文 1. 拷贝构造函数定义 拷贝构造函数是一种对构造函数的重载。与构造函数有着相同的作用,在创建新对象时,将数值赋值给它们的成员函数。 2.默认拷贝构造函数 若没有将拷贝构造函数显式地定义出来,类具有默认的拷贝构造函数。下记程序里只有带参数arg的构造函数,并未定义拷贝构造函数。 //例1 #include <iostream> #include &l原创 2020-07-06 22:46:15 · 782 阅读 · 1 评论