您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 类内重载operator=,类名假定为CMyData,成员变量有x,y,z

类内重载operator=,类名假定为CMyData,成员变量有x,y,z

来源:网络整理     时间:2016/8/26 17:02:06     关键词:

关于网友提出的“ 类内重载operator=,类名假定为CMyData,成员变量有x,y,z”问题疑问,本网通过在网上对“ 类内重载operator=,类名假定为CMyData,成员变量有x,y,z”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 类内重载operator=,类名假定为CMyData,成员变量有x,y,z
描述:

classx

一般格式是
CMyData& operator=(const CMydata& data)
{
this->x=data.GetX();
………
return *this;
}
我想问可以用void类型吗,最后不返回*this,因为值已经赋进去了啊
解决方案1:

是可以,不过有时会用到连等的情况,所以最好要有个返回值

解决方案2:

一改全改,这动静太大了,不是很好

解决方案3:

返回引用作用很多,除了a=b=c; 外,
用到表达式的地方很多,
这些地方,都可以放上 赋值表达式

解决方案4:

可以用void类型的
返回引用主要可以进行连续表达式的书写,比如a=b=c;
赋值运算符的本意为“返回左值的引用“
PS:返回该类型的引用,这只是个协议,适用于所有赋值相关运算符,所有内置类型和标准库类型都这样遵循


以上介绍了“ 类内重载operator=,类名假定为CMyData,成员变量有x,y,z”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3608951.html

相关图片

相关文章