考慮以下 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();
}
這些類別共享指令向量。但是,我們遇到了有關執行函數的問題。它會保留其 Add 類型嗎?
不幸的是,它不會。 vector
要解決此問題,請考慮使用 vector
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3