相关疑难解决方法(0)

赋值运算符的布尔和字符串重载(C++)

我正在定义赋值运算符的多个重载,如下所示:

foo.h中

class Foo
{
private:
    bool my_bool;
    int my_int;
    std::string my_string;
public:
    Foo& operator= (bool value);
    Foo& operator= (int value);
    Foo& operator= (const std::string& value);
};
Run Code Online (Sandbox Code Playgroud)

Foo.cpp中

// Assignment Operators.
Foo& Foo::operator= (bool value) {my_bool = value; return *this;}
Foo& Foo::operator= (int value) {my_int = value; return *this;}
Foo& Foo::operator= (const std::string& value) {my_string = value; return *this;}
Run Code Online (Sandbox Code Playgroud)

这是我的main.cpp(参见标记的注释SURPRISE):

Foo boolFoo;
Foo intFoo;
Foo stringFoo;

// Reassign values via appropriate assignment operator.
boolFoo = true; …
Run Code Online (Sandbox Code Playgroud)

c++ string boolean operator-overloading assignment-operator

5
推荐指数
1
解决办法
1264
查看次数