Предположим, у меня есть следующий абстрактный класс, и я использую его как «интерфейс» в C ++:
class IDemo
{
public:
virtual ~IDemo() {}
virtual void Start() = 0;
};
class MyDemo : IDemo
{
public:
virtual void start()
{
//do stuff
}
};
Затем в классе, который должен иметь дескриптор интерфейса (конкретный класс посредством внедрения):
class Project
{
public:
Project(IDemo demo);
private:
IDemo *_demo;
};
Я намерен назначить конкретный демонстрационный класс через конструктор Project.Этот код не компилируется, так как IDemo не может быть создан.Какие-либо предложения?Заранее спасибо.