Cliquez pour évaluer et commenter
MSDN
MSDN Library
Visual Studio 2005
Documentation Visual Studio
Visual C#
Référence C#
Mots clés C#
 operator
Réduire tout/Développer tout Réduire tout
Cette page est spécifique à
Microsoft Visual Studio 2005/.NET Framework 2.0

D'autres versions sont également disponibles pour :
Référence du langage C#
operator (Référence C#)

Utilisez le mot clé operator pour surcharger un opérateur intégré ou fournir une conversion définie par l'utilisateur dans une déclaration de classe ou de structure.

La formulation suivante est une classe extrêmement simplifiée pour les nombres fractionnels. Elle surcharge les opérateurs + et * pour effectuer des additions et des multiplications de fractions, et fournit également un opérateur qui convertit un type fraction en type double.

// cs_keyword_operator.cs
using System;
class Fraction
{
    int num, den;
    public Fraction(int num, int den)
    {
        this.num = num;
        this.den = den;
    }

    // overload operator +
    public static Fraction operator +(Fraction a, Fraction b)
    {
        return new Fraction(a.num * b.den + b.num * a.den,
           a.den * b.den);
    }

    // overload operator *
    public static Fraction operator *(Fraction a, Fraction b)
    {
        return new Fraction(a.num * b.num, a.den * b.den);
    }

    // user-defined conversion from Fraction to double
    public static implicit operator double(Fraction f)
    {
        return (double)f.num / f.den;
    }
}

class Test
{
    static void Main()
    {
        Fraction a = new Fraction(1, 2);
        Fraction b = new Fraction(3, 7);
        Fraction c = new Fraction(2, 3);
        Console.WriteLine((double)(a * b + c));
    }
}

Sortie

 
0.880952380952381

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 7.2.2 Surcharge d'opérateur

  • 7.2.3 Résolution de la surcharge d'opérateur unaire

  • 7.2.4 Résolution de la surcharge d'un opérateur binaire

Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker