Рассмотрим следующий код C:
class Instruction {
public:
virtual void execute() { }
};
class Add: public Instruction {
private:
int a;
int b;
int c;
public:
Add(int x, int y, int z) {a=x;b=y;c=z;}
void execute() { a = b c; }
};
В отдельном классе:
void some_method() {
vector v;
Instruction* i = new Add(1,2,3)
v.push_back(*i);
}
И в другом классе:
void some_other_method() {
Instruction ins = v.back();
ins.execute();
}
Эти классы используют общий вектор инструкций. Однако мы сталкиваемся с проблемой, связанной с функцией выполнения. Сохранит ли он тип «Добавить»?
К сожалению, нет. Vector
Чтобы решить эту проблему, рассмотрите возможность использования вектора
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3