private (C++)
構文
private:
[member-list]
private base-class
解説
クラス メンバーのリストを前に置くと、private
キーワードは、それらのメンバーがクラスのメンバー関数およびフレンドからのみアクセスできることを指定します。 これは、次のアクセス指定子またはクラスの末尾までで宣言されているすべてのメンバーに適用されます。
基底クラスの名前を指定すると、private
キーワードは、基底クラスのパブリック、プロテクト メンバーが派生クラスのプライベート メンバーであることを指定します。
クラスのメンバーの既定のアクセスはプライベートです。 構造体または共用体のメンバーの既定のアクセスはパブリックです。
基底クラスの既定のアクセスは、クラスの場合はプライベートで、構造体の場合はパブリックです。 共用体に基底クラスを設定することはできません。
関連情報については、friend、public、protected、クラス メンバーへのアクセスの制御のメンバー アクセス テーブルを参照してください。
/clr 固有
CLR 型では、C++ アクセス指定子のキーワード (public
、private
、および protected
) が、アセンブリに関連する型およびメソッドの可視性に影響を与える可能性があります。 詳細については、「メンバー アクセス コントロール」を参照してください。
Note
/LN でコンパイルされるファイルは、この動作に影響を受けません。 この場合、すべてのマネージド クラス (パブリックかプライベート) が表示されます。
END /clr 固有
例
// keyword_private.cpp
class BaseClass {
public:
// privMem accessible from member function
int pubFunc() { return privMem; }
private:
void privMem;
};
class DerivedClass : public BaseClass {
public:
void usePrivate( int i )
{ privMem = i; } // C2248: privMem not accessible
// from derived class
};
class DerivedClass2 : private BaseClass {
public:
// pubFunc() accessible from derived class
int usePublic() { return pubFunc(); }
};
int main() {
BaseClass aBase;
DerivedClass aDerived;
DerivedClass2 aDerived2;
aBase.privMem = 1; // C2248: privMem not accessible
aDerived.privMem = 1; // C2248: privMem not accessible
// in derived class
aDerived2.pubFunc(); // C2247: pubFunc() is private in
// derived class
}
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示