共通化の線引がむずかしい
■ このスレッドは過去ログ倉庫に格納されています
0079デフォルトの名無しさん
2006/02/23(木) 09:24:44こうすれば良いんじゃね?
class Interface {
public:
virtual void Proc()=0; //関数のインターフェースのみ
};
class BASE : public Interface {
public:
virtual void Proc() { Proc_1(); Proc_2(); } //デフォルトの処理
protected
void Proc_1() { ; }
void Proc_2() { ; }
};
class A : public BASE { //デフォルトの処理のまんまでOk
};
class B : public BASE {
public:
virtual void Proc() { BASE:Proc(); Proc_3(); } //デフォルトの処理にプラスアルファ
protected
void Proc_3() { ; }
};
class C : public BASE {
public:
virtual void Proc() { Proc_1(); Proc_3(); } //デフォルトの処理差し替え
};
こういった感じで、インターフェースのみ逝かすならInterfaceクラス使え、
デフォルトの処理ならAクラス、さらにその中の処理を足すならB、処理を差し替えならCのように、のように自己責任でしる!、
とすれば差分コーディングだお。
■ このスレッドは過去ログ倉庫に格納されています