class Sales_item{public:Sales_item& operator=(const Sales_item &);};Sales_item&是什么意思?另外为什么参数Sales_item&的前面要加上const?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 23:59:00
class Sales_item{public:Sales_item& operator=(const Sales_item &);};Sales_item&是什么意思?另外为什么参数Sales_item&的前面要加上const?
xT]OA+<6`oJ?ꃉ"4iLVQv(iŴaa̝3Q/m҇&{̹sTr.D^f2g3o?%fH*=Ϧ^)0_6p,{'[LDN#CVfPsk z-^=D1M֞0քhՄW (~.elF_io_l\ 5z`|s֭[?eœ hL_G(_i"J IV+Owz =WZiʼ_A8^x&2Tz$rc:Ei`l .ژ$e>9WJ~C(vf)O C

class Sales_item{public:Sales_item& operator=(const Sales_item &);};Sales_item&是什么意思?另外为什么参数Sales_item&的前面要加上const?
class Sales_item{
public:
Sales_item& operator=(const Sales_item &);
};
Sales_item&是什么意思?另外为什么参数Sales_item&的前面要加上const?

class Sales_item{public:Sales_item& operator=(const Sales_item &);};Sales_item&是什么意思?另外为什么参数Sales_item&的前面要加上const?
问题1:
Sales_item&
代表Sales_item类型的引用
问题2:
我先跟你说个windows下的一个常识.
比如说:我想复制一个文件123.txt到D盘,在我复制的过程中,如果你删除了源文件123.txt,那么windows就会报错,说某某程序正在使用之中,不能删除.这个道理跟前面+const是一个道理
Sales_item& operator=(const Sales_item &);
这个是一个赋值操作符的重载
Sales_item a,b;
a=b;
执行a=b就会调用它,这里的b就代表了函数里面的参数.正常情况下,我们不希望在函数里面人为或者误操作,最后改变了b的值
当然你可以说传递值也可以达到这个效果,但是在传值又会发生参数的copy,
在传递对象的时候,基本建议采用传值,最后就改为引用,前面+个const
const的作用是常量修饰符,就是说函数的参数不能被修改