次のファイナルについて簡単な質問があります。プライベート メンバー データと関数は、コンストラクターのみがアクセスできますか?
回答と詳細を感謝します。
私が皆さんのところに来るきっかけとなった質問と回答は次のとおりです。
編集:
5) ステートメントがプライベート メンバー変数または関数にアクセスするための無効な試みである場合を判断できるようになります。- これはプレゼントです。プライベート関数と変数は、コンストラクターでのみアクセスできます。
これは間違っていますか?
次のファイナルについて簡単な質問があります。プライベート メンバー データと関数は、コンストラクターのみがアクセスできますか?
回答と詳細を感謝します。
私が皆さんのところに来るきっかけとなった質問と回答は次のとおりです。
編集:
5) ステートメントがプライベート メンバー変数または関数にアクセスするための無効な試みである場合を判断できるようになります。- これはプレゼントです。プライベート関数と変数は、コンストラクターでのみアクセスできます。
これは間違っていますか?
はい、明らかに間違っています。
標準 (ISO/IEC 14882:2003 (E)、§11.0/1) から:
クラスのメンバーは、プライベートにすることができます。つまり、その名前は、それが宣言されているクラスのメンバーとフレンドだけが使用できます。
constructorではなくmembersと表示されます。
クラスのプライベートメンバーは、そのクラスのメソッドのいずれかにアクセスできます。考慮すべき点は、this
ポインターを持たず、静的メンバー変数にのみアクセスできる静的メンバー関数です。フレンド関数とフレンドクラスは、クラスのプライベートメンバー変数にアクセスすることもできます。
コンストラクターだけでなく、オブジェクト自体の内部でそれらに到達できます。
また、どうすればよいか疑問に思った場合に備えて、オブジェクトの外部から取得または設定するための get メソッドと set メソッドを用意する必要があります。
クラス内のどこからでもプライベート メンバーにアクセスできますが、他のクラスや他のサブクラスからはアクセスできません。
いいえ、オブジェクト内のどこからでもアクセスできますが、外部からはアクセスできません。