0

这个问题可能有点模糊,但请耐心等待。

我的项目中有 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();
}    
4

1 回答 1

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
};
于 2012-04-20T22:16:05.553 回答