/* IFT1169 - démonstration #05 - exercice 02 - 19-février -2006 v1.00 M.Lokbani - l'énoncé+solution + gcc3.4.2 à partir de l'énoncé de l'examen Final session été 2000 - IFT1166 - contact: lokbani@iro.umontreal.ca Copyright (C) 1999-2006 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ------------ Il faudra introduire les corresctions suivantes, dans le désordre: a) avancer coordonnee b) manque ; entre x(a) et y(b) c) c.x et c.y car non pointeur d) manque dx dans Droite(int gx,int gy,int dx,int dy) e) manque : après Droite(const Droite& d) Avant d'utiliser une classe, il faudra connaitre son existance. De même avant d'utiliser les méthodes d'une classe, il faudra d'abord les définir. */ #include using namespace std; // :2 avancer coordonnee class Coordonnee { int x; int y; public: Coordonnee(int a, int b): x(a),y(b){} // ; entre x(a) et y(b) Coordonnee(const Coordonnee& c) { x = c.x; y = c.y; // . car non pointeur } bool operator==(const Coordonnee& c) { if ((x==c.x) && (y==c.y)) return true; return false; } }; class Droite { Coordonnee gauche; // extrémité gauche Coordonnee droite; // extrémité droite public: Droite(int gx,int gy,int dx,int dy):gauche(gx,gy),droite(dx,dy){} // manque un dx Droite(const Droite& d):gauche(d.gauche),droite(d.droite) {} // manque les : bool operator==(const Droite& d2){ if ((gauche==d2.gauche) && (droite==d2.droite)) return true; return false; } }; int main() { Droite d1(2,3,4,5); Droite d2(7,8,9,10); Droite d3(d1); cout << (d1==d3) << (d2==d3) << (d1==d2) << endl; return 0; }