Salut les agrumes ,j'étais entrain de lire un tutoriel sur les pointeurs intelligents et je tombe sur ce code où l'auteur dit qu'il s'agit d'une sémantique de valeur sauf que Rectangle et Circle héritent de Shape et que normalement si c'est bien une sémantique de valeur il ne devrait pas y avoir d'héritage.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | vector<Shape> v; v.push_back(Rectangle(0, 0, 10, 20)); v.push_back(Circle(0, 0, 10)); for(vector<Shape>::iterator it = v.begin(); it != v.end(); ++it) { it->draw(); } vector<Shape> v2 = v; for(vector<Shape>::iterator it = v2.begin(); it != v2.end(); ++it) { it->move(2, 2); } |
Je remercie d'avance les personnes qui me permettront de clarifier cela.
Bonne journée à tous !
+0
-0