假设有两个无关系的类Engine和Fuel,使用时,怎样允许Fuel成员访问Engine中的私有和保护的成员?

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:18:12

1、设为friend关系。
class Engine
{
friend class Fuel;
private:
int m_a;
};

class Fuel
{
void fun()
{
Engine e;
int a = e.m_a;
}
};

2、Engine提供访问的方法。
class Engine
{
public:
int GetA() const { return m_a; }

private:
int m_a;
};

class Fuel
{
void fun()
{
Engine e;
int n = e.GetA();
}
};

私有的肯定是不能被外部访问的
否则就失去其被保护的意义了

将他们改成公有的