汎用性のある関数を呼び出す方法は想像できません。私は、異なる瞬間に2つの異なるクラスで関数を呼び出さなければならないコードを持っています。同じ関数内で異なる時間に異なるクラスを呼び出す
私は1回または他の時間にアクセスできるAクラスとBクラスを持っています。または、私はAまたはBにアクセスします。同じタイプではありません。
私はこのプログラムをコードしていますが、これを行う方法は想像できません。または、これがパフォーマンスやコード作成に適しているかどうか。私はちょうどCクラスを排除したいですが、私はどのように分かりません。
class MyClass { public: MyClass() {} //contructor padrão, não deve ser utilizado isoladamente virtual int a() = 0; virtual int b() = 0; int c() { return b(); } }; class A : public MyClass { public: int a() { return 1; } int b() { return 1; } int d() { return 1; } }; class B : public MyClass { public: int a() { return 1; } int b() { return 1; } int e() { return 1; } }; class C { public: A ca; B cb; enum TIPO { A, B }; TIPO Tipo; C(TIPO tipo) { Tipo = tipo; } int a() { switch(Tipo) { case A: return ca.a(); break; case B: return cb.b(); break; default: break; } } }; void main() { C c(C::B); c.a(); return; }
あなたは何を求めているのですか?しかし、マルチスレッドをチェックしたいかもしれません –