内部クラスへのアクセス

3021 ワード

コード:
#include <iostream>

using namespace std;

class OuterClass

{

public:

    OuterClass()

    {

        m_outerInt = 10;

    }

private:

    int m_outerInt ;

public:

    class InterClass // 

    {

    public:

        InterClass()

        {

            m_inerInt = 100;

        }

    private:

        int m_inerInt;

    public:

        void displayIner()

        {

            cout<<""<<m_inerInt<<endl;

        }

    };//end 

public:// 

    void displayOuter()

    {

        cout<<""<<m_outerInt<<endl;

    }

};



int main()

{

    OuterClass outer;

    OuterClass::InterClass iner;

    outer.displayOuter();

    iner.displayIner();

    system("pause");

    return 0;

}

内部クラスはpublicプロパティを使用しており、privateに変更するとエラーが発生し、main関数で外部クラスのプライベートメンバー(内部クラス)にアクセスできません.
例えばクラスAの1つの内部クラスBprivateはプライベートであり、Aの内部でBpublicを使用できるのは公有であり、他のクラスはA.BでBタイプを使用することができる
内部クラスがプライベートである場合、外部クラスオブジェクトを作成すると、内部クラスは自動的にオブジェクトを作成しますか?内部クラスオブジェクトが自動的に作成される場合、内部クラスオブジェクト名は何ですか?私はどのように外部クラスのオブジェクトを通過しますか.内部クラスオブジェクトを使用して内部クラスを使用しますか?