我怎样才能成为班里的好朋友呢?



我认为这是可能的,但是编译器抱怨它不能访问我的类的受保护/私有成员。我试过移动东西和改变签名,但找不到一个有效的组合。

我有:

class MyClass
{
public:
    friend int main(int argc, char** argv);
private:
    void test()
    {
        cout << "My friend has accessed my member" << endl;
    }
};
int main(int argc, char** argv)
{
    MyClass mc;
    mc.test();
}

你的答案是正确的。

您可能不应该做这里要做的事情——肯定有更好的方法。话虽如此,您可以尝试在全局命名空间friend int ::main中声明友元函数(注意使用了范围解析运算符::)。

相关内容

  • 没有找到相关文章

最新更新