1

基本クラスのアクセス仕様は、メンバーのアクセス仕様とどのように異なりますか?

4

1 に答える 1

2

基本クラスのアクセス仕様は、クラス内の基本クラスのメンバーのアクセス仕様を決定します。これらは、基本クラスのメンバーをクラスに公開したくない場合に非表示にする方法を提供します。ただし、クラスのメンバーの可視性には影響しません。

C ++ FAQは、この問題を非常にうまく説明しています。

class Base
{
protected:
    int A;
public:
    int B;
};

class Derived1 : public Base
{
    // Derived1::A outside class is seen as protected
    // Derived1::B outside class is seen as public
};

class Derived2 : protected Base
{ 
    // Derived1::A outside class is seen as protected
    // Derived1::B outside class is seen as protected
};

class Derived3 : private Base
{ 
    // Derived1::A outside class is seen as private
    // Derived1::B outside class is seen as private
};
于 2013-02-26T05:42:31.470 に答える