创建类操作符

时间:2015-10-05 11:17:10

标签: c++ access-specifier typecast-operator

尝试创建类操作符:

class ggg
    {
    int a;
    int b;
    operator std::string ( ) 
        {
        return "hello";
        }

    };

int main() {

    ggg g ;
    std::string s =  g;
    cout<<s;

}

并收到错误:

'ggg::operator std::string' : cannot access private member declared in class 'ggg'  

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

默认情况下,班级中的所有成员都是私有的。

class ggg
{
    int a;
    int b;
public:
    operator std::string ( ) 
    {
        return "hello";
    }

};

应该解决你的问题