Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 11-39 extrait du chapitre Notions de classe et d'objet


Exemple 11-38<     > Exemple 11-40


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_11_39.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_11_39.cs
public class Distance {
   double m_Mesure = 0.0;
   public double Mesure { get return m_Mesure; } 
                          set { m_Mesure = value; } }
   public Distance(double d) { m_Mesure = d; }
   public static Distance operator +(Distance d1, Distance d2) {
      return new Distance(d1.m_Mesure + d2.m_Mesure);
   }
   public static Surface operator *(Distance d1, Distance d2) {
      return new Surface(d1.m_Mesure * d2.m_Mesure);
   }
   public static Distance operator ++(Distance d) {
      d.m_Mesure++; return d;
   }
}
public class Surface {
   double m_Mesure = 0.0;
   public double Mesure {
      get return m_Mesure; }
      set { m_Mesure = value; }
   }
   public Surface(double d) { m_Mesure = d; }
   public static Distance operator /(Surface s, Distance d) {
      return new Distance(s.m_Mesure / d.Mesure);
   }
   public static double operator /(Surface s1, Surface s2) {
      return s1.m_Mesure / s2.m_Mesure;
   }
}
class Program {
   static void Main() {
      Distance d1 = new Distance(5.3);
      Distance d2 = new Distance(2.4);
      Distance d3 = d1 + d2;
      Surface s1 = d1 * d2;
      Surface s2 = d3 * d2;
      Distance d4 = s1 / d3;
      double dRapport = s1 / s2;

      Distance d5 = d1++; // Après ceci d5 mesure 6.3, d1 mesure 6.3.
      Distance d6 = ++d1; // Après ceci d6 mesure 7.3, d1 mesure 7.3.
   }
}	
Copyright Patrick Smacchia 2006 2007