-2

次のファイナルについて簡単な質問があります。プライベート メンバー データと関数は、コンストラクターのみがアクセスできますか?

回答と詳細を感謝します。

私が皆さんのところに来るきっかけとなった質問と回答は次のとおりです。

編集:

5) ステートメントがプライベート メンバー変数または関数にアクセスするための無効な試みである場合を判断できるようになります。- これはプレゼントです。プライベート関数と変数は、コンストラクターでのみアクセスできます。

これは間違っていますか?

4

5 に答える 5

2

はい、明らかに間違っています。

標準 (ISO/IEC 14882:2003 (E)、§11.0/1) から:


    クラスのメンバーは、プライベートにすることができます。つまり、その名前は、それが宣言されているクラスのメンバーとフレンドだけが使用できます。

constructorではなくmembersと表示されます。

于 2012-08-08T19:59:11.313 に答える
1

クラスのプライベートメンバーは、そのクラスのメソッドのいずれかにアクセスできます。考慮すべき点は、thisポインターを持たず、静的メンバー変数にのみアクセスできる静的メンバー関数です。フレンド関数とフレンドクラスは、クラスのプライベートメンバー変数にアクセスすることもできます。

于 2012-08-08T19:50:45.627 に答える
0

コンストラクターだけでなく、オブジェクト自体の内部でそれらに到達できます。

また、どうすればよいか疑問に思った場合に備えて、オブジェクトの外部から取得または設定するための get メソッドと set メソッドを用意する必要があります。

于 2012-08-08T19:45:39.103 に答える
0

クラス内のどこからでもプライベート メンバーにアクセスできますが、他のクラスや他のサブクラスからはアクセスできません。

于 2012-08-08T19:42:21.033 に答える
0

いいえ、オブジェクト内のどこからでもアクセスできますが、外部からはアクセスできません。

于 2012-08-08T19:42:24.950 に答える