C ++では、クラスBase
をインターフェイスクラスと2つの継承クラスとして持っています:Base1
そして、このようなクラスBase2
から:Base
class Base{
public:
virtual void printSomething() = 0;
// Some bla bla code...
};
class Base1 : public Base{
public:
Base1();
void printSomething();
};
class Base2 : public Base{
public:
Base2();
void printSomething();
};
通常、私の main.cpp には、次のコードを含める必要があります。
Base *b;
string base_name = "Base1"; // or "Base2"
if(base_name.compare("Base1") == 0){
b = new Base1();
}else{
b = new Base2();
}
だから、上のブロックのBase *b = base_name()
代わりに使いたい 。if()else()
C ++では、これは可能ですか?ありがとう!