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つのクラスメソッドにアクセスできなくなります。

あなたの仮定は間違っています。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 に答える