У меня есть класс со многими производными типами, и у меня есть уникальный номер, связанный с каждым производным классом. Есть ли простой способ сопоставить число с производным типом?Определить тип объекта по номеру
Некоторые псевдо-код:
class foo{
public:
virtual int bar(int) = 0;
}
class fan:foo{
public:
int bar(int num){ return num * 5;)
}
class fawn:foo{
public:
int bar(int num){ return num * 9;);
}
int main(){
vector<foo*> obj;
for(int i = 0; i < 100; i ++){
int num = rand() % 2;
if(num == 0)
obj.push_back(new fan());
if(num == 1)
obj.push_back(new fawn());
}
}
Это делает то, что я хочу, но у меня есть много больше, чем два класса, и я планирую добавить многое другое. Есть ли способ сделать это менее взвешенно?
Я использую MinGW, если это имеет значение вообще.
Хорошо, хорошо, я обдумывал это довольно долгое время, и даже самые умные решения требуют всего, что печатает. Это раздражает, но я отмечу это как ответ через несколько минут. Спасибо. – Kaslai
@Aslai Просто хочу убедиться, что вы видите мое редактирование. Это не * что * плохо ... –
@Aslai В любом случае, рад помочь. –