У меня есть абстрактный класс с именем box, который имеет только строковый параметр с именем type и виртуальную строку, которая возвращает только этот параметр. Этот класс является отцом другого класса, называемого Reward, у которого есть конструктор, который заполняет тип параметра и ту же функцию Box. Я пытаюсь поместить их в класс под названием Board, который в основном представляет собой вектор указателей этих классов, у меня есть конструктор, который просто заполняет вектор наградами. Проблема заключается в том, что я компилирую его, но не запускается, и я не могу найти, в чем проблема. Спасибо
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Box{
protected:
string type;
public:
virtual string getType()=0;
};
class Reward : public Box{
public:
string getType(){
return type;
}
Reward(){
type = "Reward";
}
};
class Board{
private:
vector<Box *> Table;
public:
Board(){
for (int i=0;i<=30;i++){
Table[i]=new Reward;
}
}
string getBoxes(int i){
return Table[i]->getType();
}
};
int main(){
Board game;
string toPrint=game.getBoxes(2);
cout<<toPrint;
return 0;
}