問題タブ [non-member-functions]

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.

0 投票する
2 に答える
52 参照

class - メンバー関数と継承を除いて、クラスに機能を追加するための最も一般的なプログラミング パターンは何ですか?

この問題に対して広く使用されているアプローチは、おそらく 2 ~ 4 つしかありません。

いたるところで使用している一般的なクラスがあり、(場合によっては) 特別な能力を付与したいという状況があります。議論のために、型チェックは必須ではないとしましょう。

単なる継承やメンバー関数ではなく、クラスに機能を与える方法は何ですか?

  1. 私が見た 1 つの方法は、一種のミューテーターがクラスをラップし、少し変更して、より多くの機能を備えたバージョンを吐き出す「デコレーター」パターンです。

  2. 私が読んだことがあるが使用したことのない別のものは、ゲーム用です。エンティティとパワーアップ/オーグメントと関係があります。詳細はわかりませんが、リストがあると思います。

  3. ???

一般的な要点といくつかのキーワードほど、特定の言語の特定のコードは必要ありません。そこから実装できます。

0 投票する
2 に答える
610 参照

c++ - C++ "非メンバー関数での 'this' の使用は無効です",

以下は、私の文字クラスとそのサブクラスの .cpp バージョンです。attack() 関数を機能させようとしています。いくつかの変更を加えたところ、現在のエラーは、adjustHP() 関数の「非メンバー関数での 'this' の無効な使用」に対処しています。私のメイン クラスでは、プレイヤーがプレイする戦士オブジェクトと制御不能な敵としてのゴブリンをインスタンス化しています。

キャラクター.cpp

戦士.cpp

goblin.cpp

0 投票する
0 に答える
49 参照

c++ - C ++では、クラスのメンバー関数を、そのクラスの別のメンバー関数によってさらに呼び出されている非メンバー関数に参照するにはどうすればよいですか?

C ++では、クラスのメンバー関数を、そのクラスの別のメンバー関数によってさらに呼び出されている非メンバー関数に参照するにはどうすればよいですか? これは私のコードで、このエラーに戻ります: