質問

作成時にC++による継承構造を定義する関数と同じ複数の場所:

場合は、抽象基底クラスD、E、Fの全てを継承からなければならなくなるかもしれます:

class B
{
   virtual func A( ... params ) = 0;
};

class D : public B
{
   func A( ... params );
};

/* ... etc... similar implementations for E and F */

であるにも複製す。場合にはインターフェースBが大きく、多くの場所変更をインタフェースでニーズに変化します。

同僚にバカにした言動を繰り返すとtrickeryとの組み込みcraftily作成された#、ala:

class D: public B
{
   #include "B_Interface.h"  // B_Interface.h is a specially crafted .h file
}

このように少しkludgy?ですか?はができるようになデュアル。

また、その溶液がここには本当に良いツールの言語のように、視覚補助X?

編集:の導出クラスでは独自の実装方法です。

役に立ちましたか?

解決

実際には、インターフェイスを変更して最大の問題は通常、の使用法のそれではなく、コードを実装していることをすべてのコードです。それは実装のためにそれを変更するのは簡単だ場合、それはおそらく、ユーザーのために生活が困難になるだろう。

他のヒント

は、それが広く使われているインタフェースを変更することが苦痛だというバグではありません。それは機能です。

  また、ここでは多分解決策は、Xアシストビジュアルと同様に、言語をサポートするために、本当に優れたツールです?

その通り。メソッドのシグネチャを変更するツールをリファクタリングの重要な機能である。

あなたには、いくつかのデフォルトの動作を何度も繰り返し、それらを実装する必要があれば、多分彼らはちょうど仮想、および仮想純粋ではないはずです。

代わりに、私が私のエディタを試してみた使用すべきではない別の方法はまだのためのプリプロセッサを使用しての

(またはIDE、その者の場合は何を空想。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top