だから私はトップクラスを持っているとしましょう:
//Top.h
#pragma once
#include <string>
using std::string;
class Top
{
protected:
string name;
public:
virtual string GetName() = 0;
}
このクラスにはオブジェクト Top インスタンスがありません。それが抽象クラスである理由です。私には2つのミドルクラスもあります。
//MiddleA.h
#pragma once
#include "Top.h"
class MiddleA : public Top
{
protected:
int value;
public:
MiddleA(string, int);
string GetName();
int GetValue();
}
//MiddleB.h
class MiddleB : public Top
{
protected:
double factorial;
public:
MiddleB(string, double);
string GetName();
double GetFactorial();
double Calculate(int);
}
ここで必要なのは、MiddleA、MiddleB、またはこれら 2 つのクラスから継承する任意のクラスの複数のオブジェクトを格納できる配列などです。C++でこれを行う方法はありますか?
編集:保護されたセクションにデフォルトのコンストラクターを追加し、Top のベクトルまたは配列を使用することは「受け入れられる」でしょうか?