友元クラスおよび友元関数

3411 ワード

ゆうげんかんすう
  • は、クラスのプライベート・メンバー
  • にアクセスできます.
  • 友元の宣言は定数制限を制限せず、クラスの任意の位置で
  • を宣言することができる.
    友元類
  • 友元クラスのすべてのメンバー関数は、別のメンバー関数
  • になります.
  • 友元関係は一方的であり、互いに友元関係を構成する必要がある場合は、
  • を相互に宣言する必要がある.
  • 友元関係は
  • に伝達できない
    内部クラス
  • オブジェクトを介して外部クラスのプライベートメンバーにアクセスすることができ、メタクラスと同様に、外部クラスは内部クラスのプライベートメンバー
  • にアクセスできません.
  • 内部クラスは、外部クラスの静的メンバー
  • に直接アクセスすることができる.
    
    class C
    {
    public:
    	//D    , D C    
    	class D
    	{
    	public:
    		void displayC(const C& c)
    		{
    			cout << c._c << endl;
    			cout << c._sc << endl;
    			cout << C::_sc << endl;
    			//             static  
    			cout << _sc << endl;
    		}
    	private:
    		int _d = 20;
    	};
    private:
    	//E    
    	class E
    	{
    		private:
    		int _e = 30;
    	};
    	int _c = 10;
    	static int _sc;
    
    };
    
    int C::_sc = 100;