这个问题可能有些模糊,但请耐心等待。
我的项目中有3个班级。 2个类与1个类有一个组合关系,也就是说,2个是1的一部分。
但是我必须能够访问2类方法,但实际上并不想让它们完全公开。
在1类我有2个类实例化私有可见性,这阻止1类对象访问2类方法
这是在C ++中;)
编辑:我将举例说明我拥有的内容;
class Aclass
{
private: int numA;
public: void ExampleMethod();
};
class Bclass
{
private: int numB;
public: void ExampleMethodB();
};
class Cclass
{
private:
Aclass Aobject;
Bclass Bobject;
public:
};
void main()
{
Cclass Cobject;
Cobject.ExampleMethod();
}
答案 0 :(得分:2)
在1类我有2个类实例化私有可见性,这阻止1类对象访问2类方法
你的假设是错误的。如果这两个对象是private
,您仍然可以从类中访问它们:
class A
{
public:
foo();
};
class B
{
private:
A a;
public:
void goo() { a.foo(); } // this is ok, although a is private
// you can't access a from outside the class though
};