как создать массив абстрактного класса
Есть класс мишень и его наследник (тип мишени). Как можно создать массив таких мишеней, с разными параметрами?
class Target {
protected:
double _width;
double _height;
double _distance;
int _materialShine;
public:
Target(double w, double h, double d, int m) : _width(w), _height(h), _distance(d), _materialShine(m) { }
virtual double Visibility() = 0;
};
class RectangleTarget : public Target {
public:
RectangleTarget(double w, double h, double d, int m) : Target(w, h, d, m) { }
double Visibility() {
double visible = (_width * _height + _distance) / 100 * (1.0 + _materialShine / 100);
std::cout << "Видимость = " << visible << std::endl;
return visible;
}
};
int main()
{
srand(time(NULL));
setlocale(LC_ALL, "");
int size = 10;
Target** target = new Target * [size];
//target[0] = new RectangleTarget(fRand(40,90), fRand(40, 90), fRand(70, 190), iRand(0, 1));
//target[0]->Visibility();
}