خذ بعين الاعتبار رمز 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
لحل هذه المشكلة، فكر في استخدام Vector
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3