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-38 extrait du chapitre Notions de classe et d'objet
Exemple 11-37< > Exemple 11-39
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_11_38.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_11_38.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) {
return new Distance(d.m_Mesure++);
}
}
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 5.3.
Distance d6 = ++d1; // Aprés ceci d6 mesure 5.3, d1 mesure 5.3.
}
}
Copyright Patrick Smacchia 2006 2007
|