• ベストアンサー

FriendとPublicの違い。。。

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

noname#20343
noname#20343

質問者が選んだベストアンサー

  • ベストアンサー
  • WWolf
  • ベストアンサー率26% (51/192)
回答No.1

| 同じプロジェクト |異なるプロジェクト | 他クラス 派生クラス 同じクラス |他クラス 派生クラス |Public |○ ○ ○ |○ ○ どこからでも参照できる |Protected Friend |○ ○ ○ |× ○ Protected + Friendの効果 |Protected |× ○ ○ |× ○ 派生クラスから参照できる |Friend |○ ○ ○ |× × 同じプロジェクト内で参照できる |Private |× × ○ |× × 自分からしか参照できない 見難かったらスイマセン(^^;

noname#20343
質問者

お礼

ご回答有難うございます。 表にして頂いてとてもわかりやすかったです。 FriendとPublicの違いは異なるプロジェクトから参照できるかできないかということですね。 他のものも書いてくださってとても勉強になりました。 有難うございました。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

VB6の話? 標準EXEであれば、どちらも同じです。 ActiveXであれば、上位から参照できるか否かの違い。

noname#20343
質問者

お礼

ご回答有難うございます。 私が使っているのは、VB.NET(Windowsアプリケーション)です。 説明不足ですみませんm(_ _)m VB.NETもVB6と同じでしょうか??

関連するQ&A

  • Friend と Friends の違い

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

  • フレンド宣言のスコープがわかりません。

    フレンド宣言のスコープがわかりません。 #include <iostream> class X { friend class Y; friend void f() { std::cout << "f()" << std::endl; } }; //class Y; //void f(); class Z { Y *ymem; void g() { ::f(); } }; int main() { ::f(); return 0; } C++プライマー第4版を読んでいます。511ページに上記のプログラムがあり、 「フレンドで導入されたクラスと関数(定義または宣言)は、すでに宣言されたものとして使うことができる。」 と説明されています。 しかし、g++(gcc4.4.1)でコンパイルするとエラーになります。コメント部分を外すと実行できます。 C++プライマーが正しいのか、gccが正しいのか、私が思い違いをしているのか、わかりません。 ご存知の方はいませんか。

  • C++のfriend classについて

    C++のfriend classについて C++の初心者です。 C++でのfriend classは基本的に、全プロパティに対するsetter,getterを持たせて 集約、コンポジションにより代替が可能だと思うのですが、今勉強の為に読解して いるソースではsetter,getterの実装がなされているクラスの使用に対しても friend 宣言が多発していて中途半端なルールになっていると感じてしまいます。 friend 宣言によって別途実現可能になる事や、パフォーマンス的に有利(微々たる 物なはず)な事ってあるのでしょうか?

  • フレンド?

    AKB大島の名前でフレンド登録?の誘いやオンラインゲームの誘いがありました ファンでもありませんし、そういったサイトにアクセスもしてませんが何なのでしょうか? 何か怪しい業者がいるような噂を聞いた事ある方はいますでしょうか? それとも単なるファンが名前を語ってるだけでしょうか?

  • -> と . の違いについて

    クラスを宣言し、メンバ関数を呼ぶ際に使われるのは分かりますが それぞれの違いについてわかりません。 どのように違い、利用時はどちらを使用するかを教えて頂けませんでしょうか?

  • Publicステートメントと標準モジュールについて

    標準モジュールを挿入して、変数の前にPublicを宣言してあげると、 どのモジュールからも参照が可能になるのは、本を読んでよく分かったのですが、 「Function」などで関数プロシージャの定義を標準モジュールでする時に、 「Public」があると、なしでは、どういった効果がでるのでしょうか? 本には、ほとんどPublicが宣言されていました。 関数プロシージャを定義する場合は、Publicを付けなくても、 他のモジュール(例えばフォームなど)から参照可能ですよね? 今一、標準モジュールと関数定義、Public変数の関連がわかっていません。 良かったら、アドバイスお願いします。m(__)m

  • Friend は標準モジュールじゃ宣言できない?

    Public Sub test1() End Sub とは出来るけど Friend Sub test2() End Sub はできないのでしょうか? Friend Sub test2を標準モジュールに書こうとすると -------------------------------- コンパイルエラー オブジェクト モジュールでのみ有効です。 使用したステートメントまたは構文要素 (たとえば、Implements ステートメント、WithEvents キーワード、イベント シンクなど) は、オブジェクト モジュール以外のコードでは使用できません。 エラーの原因となったステートメントを、オブジェクト モジュール内に記述します。 -------------------------------- となってしまいます。 「オブジェクト モジュール以外のコードでは使用できません。 」=標準モジュールでは使用できないと言う事でしょうか?

  • [ my friend ] と [ my dear friend ]

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

  • フレンドの事で困っています。

    フレンドの事で相談です。 モンハンダブルクロスでのフレンドの行為についてですが、 私は大剣(チャンスがあれば頭を狙う)とあるフレンドの一人はハンマーでの時、何度カチアゲしてもまだ一度も「ごめんなさい」のチャットが入った事がありません。 その人はとあるコミュニティの副管理人もしていて、結構人を非難したりもします。MHXでフレンド繋がりからフレになり、共通のフレンドも多く、私が避けていても空きがあれば入室してきて結局同室になります。 私自身他シリーズからそこそこ長くプレイしており、経験上ハンマーとの共存は可能ですしたし、カチアゲがあったら、ほぼ謝罪がありました。他のあまり上手ではないフレンドでも、笛などでカチアゲたら「ごめんなさい」とチャットが入ります。 私だけでなく恐らくは他の人もやられてるとは思うのですが、他の人へごめんなさいが一度も入った事を見たことがありません。クエスト中余裕が無いなら集会所なり、他にコミュニケーション手段はありますので、あとで謝罪すれば済む話ですよね。 やった事に気付いてないなら、誰かが指摘しないと気付かないままでしょうし、故意にやっていたり「頭は譲れ」的思考ならかなり性格的に問題があるのかな?と思います。私から見てもかなりその人は下手で(本人は気付いてません。他の武器を使っても失敗率が高い)「このクエストクリア出来てないから手伝って」枠に来ては乙を繰り返して失敗なんて事もあります。現在成功が目的なので粉塵は使いますが、その人には使わないのが細やかな私の抵抗でしょうか…。(他の人も最近の様子を見る限りそうみたいです) 自分では上手いと思ってるようですが…。 現在私はMH4Gに戻っており、滅多には会いませんが、多分また会うのは必然です。切ればよいのでしょうが、共通のフレンドがあまりに多過ぎなので困っています。。。 (途中書きましたが共通のフレンドが沢山いますので、避けていても入ってきます)

  • エキサイト フレンズ についてですが。。

    エキサイト フレンズに、「ミニメール」のコーナーがありますよね。 そこで登録している人たちの名前(ニックネーム)のところをクリックすると、プロフィールとともに「○○さんは○時間(日)以内にアクセスしています」というメッセージ(?)が出ますが、これって、相手(あるいは自分)がどうしたときにアクセスしたことになるのですか。 (1)エキサイトの「フレンズ」をクリックして、ミニメールが届いたがどうかを確認したとき。か、 (2)そのミニメールを読もうと、再度ログイン(?)した時か。 (1)の場合でも、すでにログインしてるんですよね? だから、自分宛にメールが来たかどうかわかるんですもんね。 ちょっとどうでも良いような質問かもしれませんが、宜しくお願いします。 (ちなみに、こっとがアクセスした時期を知らせたくない、とか、そんな意図ではないです)。