私は、いくつかのクラスで明確に定義されたインターフェースを持つのが好きです。そのために、各クラスを実装する必要がある抽象クラスで純粋仮想関数を作成しました。
しかし、クラスをインスタンス化できるという問題に直面しているため、インターフェイス クラスを継承する別のクラスを作成する必要があり、他のすべてのクラスはこの基本クラスから継承する必要があります。たとえば、次のコードがあります。
インターフェイス
class Interface
{
virtual std::string getName() = 0;
}
class Base : public Interface
{
virtual std::string getName(return std::string("Base") ;)
}
class A : public Base
{
std::string getName(return std::string("A") ;)
}
class B : public Base
{
std::string getName(return std::string("B") ;)
}
これはすべて、コードで A と B に同じ型を
使用できるようにするためです。クラスを使用Interface
せずにクラスを使用できますBase
か?
このようなもの:
class A : public Interface
{
std::string getName(return std::string("A") ;)
}