Recheche d'un exemple d'aggrégation et un de composition
Bonjour tt le monde,
Je voudrais avoir un exemple concret de composition (différent de l'aggrégation), qui par définition veut dire q'une classe est contient une autre (alors que pour l'aggrégation, une classe est composée d'une ou plusieurs autres classe, voir exemple à l'url :http://emmanuel-remy.developpez.com/...agregation.htm).
Merci de baser l'exemple de la composition sur celui de l'aggrégattion donnée par Emmanuel-Remy à l'url ci-dessus. Cependant ce dernier semble penser qu'une composition et une aggrégation sont la même chose, ce qui est n'est pas vrai.
D'avance merci pour votre aide.
Icetechnik
Corrigé du code ci-dessus
Voici le code corrigé mais avec un message d'erreur en output(
Citation:
(
Citation:
Composition_Agregation.cpp(44) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
Composition_Agregation.exe - 1 error(s), 0 warning(s)
)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| class Point
{
int x, y;
public:
void deplace(int dx, int dy) {x+= dx; y+=dy;}
Point (int x=10, int y=20) {}//Constructeur par défaut
~Point(){}
Point(const Point& p){x=p.x; y=p.y;}
Point& operator= (const Point& p){x=p.x; y=p.y;}
};
class Cercle
{
Point* centre;
unsigned rayon;
public:
void deplace(int dx, int dy) {(*centre).deplace (dx, dy);}
Cercle(){Point* p=point(0,1), unsigned r=0){}
Cercle(const Cercle& c) {(*this).centre = c.centre; rayon=c.rayon;}
Cercle& operator= (const Cercle& c) {(*this).centre = c.centre; rayon = c.rayon;}
};
int main()
{
Point p1(10, 20);
Cercle c1, c2;
c1.centre = &p1;
Cercle c3 = c1;
c1 = c2;
c1.deplace(-5, 3);
return 0;
} |