• 締切済み

protected と friend の区別(C++)

protected と friend はともに情報隠蔽の「抜け道」であるが、両方は大な違いがあるんですけど、それは何ですか? ぜひ、お願いします。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

「情報隠蔽の抜け道」って表現がどうかなあ、とは思いますが、きっと、 こういう答えを期待しているのかな? friend は、自分の中身をさらけ出す相手を指定します。それに対して、 protected は、さらけ出す相手は自分から派生させたクラスなので、誰が 自分の中身を見るのかを特定できません。 但し、friend は、相手を特定できる代わりに、自分の中身を全てさらけ出し ます。対して、protected は、メンバーのひとつひとつに指定ができるので さらけ出す情報と、そうじゃないものを区別できます。 喩えると、friend は、特定の人に「鍵」を渡す(その当人にしか使えない)ような もので、protected は、家計簿だけを鍵の掛かっていない郵便受けに入れて 置くようなものでしょうか。 なんか、C++ 自体を良く分かっていないみたいなので、この回答で意味が通じるか 自信はありません (^^; # 根本的に意味が違う friend と protected を並べて論じるのが、ちょっと…

gakuse
質問者

お礼

a-kuma さん: とても、いい答えを頂きました、ありがとうございます。 また、宜しく、お願いします。              gakuse より

  • natural
  • ベストアンサー率37% (419/1115)
回答No.1

protectedはそのクラスの子孫のクラスからのアクセスを許しますが、friendはクラスの系譜を越えて指定のクラスやその中の特定の関数からのアクセスを可能にします。 また、friendは特定の関数(メンバー関数ではない)からのアクセスも可能にします。

gakuse
質問者

お礼

natural さん: とても、いい答えを頂きました、ありがとうございます。 また、宜しく、お願いします。              gakuse より

関連するQ&A

  • Friend と Friends の違い

    あなたの友達は元気ですか? と聞く時に、一人のことを聞く時は、 How is your friend? 複数を対象に聞くときは、 How are your friends? でいいのでしょうか? Friend と friends の違いは何なんでしょうか? Let's be friends.  のfriends は friend ではだめですか? 以上、よろしくおねがいします。     

  • Best Friend と Closest Friend の違い

    アメリカでは、「Best Friend」と「Closest Friend」の 意味の違いってあるのでしょうか?

  • PS3フレンド

    PS3フレンド PS3のオンラインIDを教え合って、フレンドになれるみたいですが、 ここでフレンドになることによって、個人情報が流出したり、出会いに繋がったりなど、危険性はあるのでしょうか?

  • [ my friend ] と [ my dear friend ]

    [ my friend ] と [ my dear friend ]、 この場合、dear は、軽く考えては(使っては)いけない単語ですか? メールなど文字にした時、dear を付けることと付けないことでは、欧米の人の感覚で大きな違いがありますか?

  • FriendとPublicの違い。。。

    こんにちは。 関数などを宣言する時のFriendとPublicの違いって何ですか? どちらも、他のモジュールからでもアクセスできるという事ですよね?! 違いが分かる方教えてください!! 宜しくお願いします。

  • メンタルフレンドに関する勉強について

    不登校の子どもたちへの援助をするメンタルフレンドに興味があります。 現在、勤務しているので今すぐメンタルフレンドになることは難しいですが、 心構えや技術など、その詳細について学びたいと思っています。 自分で調べてみたのですがメンタルフレンドとしての登録者向けの勉強会ばかりで、 非登録者の学びに関する情報を得ることができませんでした。 本、サイト、雑誌、通信教育なんでも結構ですのでメンタルフレンド の勉強ができるものを教えてください。

  • Switchのフレンド

    Switchのフレンドが特殊な物使ってこっちのメールアドレスとか個人情報とか見られることってあるんですか?

  • 「誰でも」と「誰もが」の区別について

    以下の例文で、「誰でも」と「誰もが」どちらが正しいか(あるいは両方とも使えるのか)について質問したいと思います。 1.(   )欠点のない人はない。 2.法律を犯したら、(    )罰せられる。 私は1は「誰でも」、2は「誰でも/誰もが」両方問題ないと思いますが、これを文法的にどう説明するか、また両方とも意味・用法において違いがあるのかないのかをどう説明するのかが困っています。よろしくお願いします。

  • パソコンフレンズが欲しい。

     パソコンマスターから話に聞くによると、パソコンフレンズは多く作った方がいいとの事。ソフトを回し合えたり、情報を交換し合えたりと、もつべき物はパソコンフレンズだそうです。  そこで、パソコンに詳しい人と友達になりたいんですけど、どうやって作ればいいか解かりません。私の周りには全くパソコンに詳しい人がいないので困っています。  直接の人脈作りでは無く、ネット上で情報交換やソフト交換ができるサイトなどでもいいので教えてください。

  • 3DSのフレンド機能に関して

    ポケモン新作のゲームと共に3ds購入して気になった事が フレンド機能なるものがあるんですが フレンド登録された方には何処までの個人情報が見えるんですか 住所まで詳細に乗っていないか心配です 知っている方がいたら教えてください