J'ai donc une classe LongInt qui aura une nouvelle définition pour les opérateurs + et *. L'initialisation dans le fichier d'en-tête ressemble à:Écrire l'implémentation pour une méthode d'opérateur
friend LongInt operator+(const LongInt& x, const LongInt& y);
friend LongInt operator*(const LongInt& x, const LongInt& y);
cependant dans mon dossier de mise en œuvre, où je définir les méthodes trouvées dans l'en-tête, VS ne reconnaît pas l'opérateur + ou la fonction opérateur * comme étant la liste dans l'en-tête. J'utilise le code:
friend LongInt LongInt::operator+(const LongInt& x, const LongInt& y)
{
}
et
friend LongInt LongInt::operator*(const LongInt& x, const LongInt& y)
{
}
Toutes les idées pour lesquelles ce code ne fonctionnera pas quand je suis en train de définir les opérateurs?
Je sais comment utiliser un opérateur, mais je dois changer ce que l'opérateur fait pour répondre à la situation que je vais l'utiliser. dans ce cas, je vais ajouter deux classes personnalisées. – Ctak
@Ctak: Votre question ne montre que des déclarations, pas des définitions (où vous changeriez ce qu'ils font); et votre question précise que vous avez du mal à essayer d'appeler l'opérateur. C'est-à-dire que votre question ne reflète aucunement ce que vous venez de dire. Quelle est votre question ** réelle ** alors? – ildjarn
J'ai modifié la question. Merci! – Ctak