c ++重载operator =用于字符串

时间:2014-10-19 00:00:42

标签: c++

Word Word::operator= (const Word& RHS) const{

    if(word != RHS.GetWord()){
    }
}

我在这里不知所措,你如何有效地删除当前的对象字符串,然后将输入的字符串复制到它?

1 个答案:

答案 0 :(得分:3)

您的错误出现在原型上:

Word  Word::operator= (const Word& RHS) const{
//  ^                                   ^^^^^ ???

赋值运算符对常量对象没用,所以最后const是坏的 此外,编译器无法诊断的缺陷(除非您在需要左值的地方使用它),它应该通过引用返回。

无论如何,作为一个逐个成员的副本已经足够好了,根本没有定义你自己的赋值操作符的意义:
使用默认值。