クラスで、関数が - private、protected、publicのような異なる指定子の中でfriendとして宣言されている場合は、違いがあります。私の理解によると、友人機能はメンバーではありません。したがって、それは問題ではありません。しかし、私が静的に見える場合、それはメンバーではありませんが、アクセス指定子は大変重要です。だから、私は少し混乱しています。どのようにこれらのコードはすべて正常に動作しますか?次のクラスに違いはありますか?友人機能のアクセス指定子は重要ですか?
5
A
答えて
5
いいえ、問題ではありません。
C++標準、セクション11.3/9 [friend.class]
§友人宣言の意味は友人 宣言が保護、プライベートまたはパブリック(9.2)部分 に表示されるかどうかと同じですクラスメンバ指定の
注:クラス内で宣言
静的関数は、まだクラスのメンバです。友人機能はそうではありません。
+0
なぜ静的な問題ですか? –
+2
@dexterous_stranger:フレンド関数はメンバ関数ではありません。 'static'はクラスメンバの修飾子です。友情宣言はメンバーを宣言しないので、(現在のクラスの)メンバーでないメンバーに特別なアクセス権を付与するだけです。 – quantdev
関連する問題
- 1. メンバーの機能を友人にする
- 2. C++の友人の変換機能
- 3. 友人機能に関する制限
- 4. 友人機能は同じファイル内にある必要がありますか?
- 5. アクセス指定子は
- 6. Facebookのルビーで友人の写真の友人にアクセスする方法
- 7. C++親の友人機能を呼び出す方法は?
- 8. 友人、友人、友人の友達などのSQLテーブル
- 9. LibSVM機能ベクトルの機能の順序は重要ですか?
- 10. 新しい機能を友人機能としてオーバーロードしていますか?
- 11. 機能は、私は友人を助けてる2 3のテスト
- 12. C++ <<演算子のオーバーロードによる友人機能なし
- 13. __block指定子はどのように機能しますか?
- 14. プライベートコンストラクタには、友人なしでアクセスできますか?
- 15. C++アクセス指定子
- 16. 友人の友人の数を取得
- 17. strptimeはタイムゾーン形式指定子では機能しません
- 18. テンプレートの友人機能と返品タイプの控除
- 19. 友人演算子<<テンプレートクラスのオーバーロード
- 20. テンプレート友人機能のこの部分的な特殊化はなぜ機能しますか?
- 21. 友人のストリーム/リンクにアクセスするために必要なアクセス許可は何ですか?
- 22. SystemVerilogのアクセス指定子
- 23. 最も友人と人の友人のリストを返す方法
- 24. 非友人シングルライン演算子+過負荷+ =
- 25. Facebookのpublish_actions - 友人の友人へのデフォルトの可視性は
- 26. オペレータ[]友人機能を使用したオーバーロード
- 27. データベースはこの2人の友人ですか?
- 28. RedditのAPIは友達エンドポイント/ API /友人
- 29. Apexアクセス指定子とテストクラス
- 30. Java Access指定しないでパブリックにアクセスする指定子
*「静的に見える場合、メンバーでもない」* - はい。そうです。 –
スタティックはクラスメンバーであり、オブジェクトメンバーではありません。 –
"object member"という用語はC++標準には存在しません。静的クラスメンバーと非静的クラスメンバーがあります。 –