所以我有一个一流的,我们说:
//Top.h
#pragma once
#include <string>
using std::string;
class Top
{
protected:
string name;
public:
virtual string GetName() = 0;
}
这个类不会有任何对象实例化顶,这就是为什么它是一个抽象类。 我也有两个中产阶级,让说:
//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或来自这两个类继承任何类的多个对象。 有没有办法在C ++中做到这一点?
编辑:这将是“可接受的”在受保护的部分中添加一个默认的构造函数,并使用顶部的载体或数组?