如何在C ++中为字符串重新定义=运算符

时间:2015-04-16 07:26:53

标签: c++

如何使用C ++中的以下详细信息执行此代码:

mystring a;
a="A test text";

" MyString的"是一个由(我自己)为字符串定义的类,以及其他运算符,如+,==,>> ,<<等等在本课程中定义。 如何定义一个函数(一个带有类的朋友函数)" ="执行我提到过的事情。

如果有听写错误,请原谅我。

2 个答案:

答案 0 :(得分:2)

您需要定义

mystring& operator=(const char*)

这项具体的工作任务。

请注意,此重载会返回对self的引用。这允许复合赋值

答案 1 :(得分:1)

带有朋友功能的

。您需要重载赋值运算符:

mystring &operator = (mystring const &other) {
    // ...
    return *this;
}

请注意,您还需要一个接收C字符串的转换构造函数:

mystring(char const *str) {
    // ...
}