Considérez le code C suivant :
<code class="cpp">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; } };</code>
Dans une classe séparée :
<code class="cpp">void some_method() { vector<Instruction> v; Instruction* i = new Add(1,2,3) v.push_back(*i); }</code>
Et dans une autre classe :
<code class="cpp">void some_other_method() { Instruction ins = v.back(); ins.execute(); }</code>
Ces classes partagent le vecteur d'Instruction. Nous rencontrons cependant un souci concernant la fonction d’exécution. Conservera-t-il son type Ajouter ?
Malheureusement, ce ne sera pas le cas. vecteur
Pour résoudre ce problème, envisagez d'utiliser le vecteur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!