問題タブ [friend-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Cシャープの「友達」キーワードに相当するものは何ですか?
Cシャープの「友達」キーワードに相当するものは何ですか?
「内部」キーワードはどのように使用しますか?
「internal」キーワードは C# の「friend」の代わりであると読みました。
ソース コードがある C# プロジェクトで DLL を使用していますが、既存のコードを変更したくありません。私はクラスを継承しており、継承したクラスを好きなように使用できます。問題は、親クラスのほとんどのコードに保護されたメソッドがあることです。フレンドを使用すると、これらの保護されたメソッドにアクセスしたり呼び出したりできるようになりますか?
c++ - フレンドクラスを使用するのか、C ++での単体テストにアクセサーを追加するのか?
テストクラスを友達にするのではなく、ユニットテスト用にオブジェクトの内部状態を返す関数を追加する方が良いですか?-特に、単体テストの場合を除いて、機能を使用しない場合。
c++ - C++ で友情を継承しますか?
クラスの友情は C++ では継承されないため、それを「偽造」する最善の方法は何ですか?
継承される基本クラスの保護されたメソッドを介して、フレンド クラスのプライベート インターフェイスを公開することを考えていましたが、同じインターフェイスを 2 回記述 (および維持) する必要があります。
他の方法はありますか?
c# - C#フレンドクラスとOOPコンポジション
生データのセットを含むクラスAと、そのデータの再編成されたバージョン(GUI対応)を含むクラスBがある場合、Aの生データをBで表示したいと思います。
明らかに、クラスAの生データはプライベートメンバーに含まれています。C ++のフレンドクラスメソッドに似たものを使用して、そのデータをBで表示できるようにしたいと思います。
どうすればこれにアプローチできますか?
ありがとうございました。
c++ - 「フレンド」関数と << 演算子のオーバーロード: クラスの演算子をオーバーロードする適切な方法は何ですか?
私が取り組んでいるプロジェクトでは、Score
以下で定義されているクラスがありますscore.h
。私はそれをオーバーロードしようとしているので、<<
操作が実行される_points + " " + _name
と出力されます。
これが私がやろうとしたことです:
返されるエラーは次のとおりです。
(このエラーは実際には 4 回表示されます)
オーバーロードをフレンド関数として宣言することで、なんとか機能させることができました。
またScore::
、score.cpp の関数宣言から を削除します (事実上、メンバーとして宣言しません)。
なぜこれは機能するのに、前のコードは機能しないのですか?
御時間ありがとうございます!
編集
ヘッダーファイルのオーバーロードへの言及をすべて削除しました...それでも、次の(そして唯一の)エラーが発生します。binary '<<' : no operator found which takes a right-hand operand of type 'Score' (or there is no acceptable conversion)
main() のテストで適切なオーバーロードが見つからないのはなぜですか? (それは含まれていません、私はチェックしました)
以下はフルスコアです.h
java - Javaにフレンドディレクティブがないのはなぜですか?
friend
クラスが定義されているパッケージの外部から使用できるメソッドとインスタンス変数をより細かく制御できるようにするために、C++ で使用できるディレクティブを使用せずに Java が設計されているのはなぜだろうと思っていました。
実用的な理由や特定の欠点は見当たりません。これは単なる設計上の問題のようですが、言語に追加しても問題は発生しないようです。
c++ - public ネストされたクラスの一部をネストしたクラスだけに見えるようにする
公開する必要があるC ++のネストされたクラスがあります。しかし、そのメソッドの一部を外界から見えるようにし、残りのメソッドを入れ子クラスだけから見えるようにする必要があります。あれは:
innerMethod() を使用する set のメソッドを記述できるようにしたいと考えています。公開すると外部からもアクセスできてしまうので、これは絶対に嫌です。「フレンドクラス設定」をせずにやる方法はありますか?
前もって感謝します!
c++ - 多対多の友情で 2 つのテンプレート クラスをリンクする方法は?
次の 2 つのテンプレート クラスがあるとします。
多対多の友情でそれらをリンクするにはどうすればよいですか。たとえば、Second のパラメーター オブジェクトの b を出力するメソッドを First に追加します。
私の質問は明確ですか?
c++ - フレンドクラスからのC++アクセスメンバー関数
フレンドクラスからメンバー関数にアクセスする方法はありますか?
重要な場合はgcc4.5.2を使用します
c++ - フレンド クラスとアクセサ セクションの定義
クラスをフレンド クラスとして定義する場合、その定義がどのアクセサ セクションに配置されるかは重要ですか。