Bonjour,
Mon problème est assez simple. J'aimerais juste faire une surcharge de l'opérateur de flux << mais malgré quelques recherches sur google, j'ai pas vraiment compris comment l'implémenter correctement.
Je reçois cette erreur à la compilation :
error: 'std::ostream& BigInt::operator<<(std::ostream&, const BigInt&)' must take exactly one argument
Du code parle plus que des mots ^^
Fichier .H
Fichier .CPP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef INCLUDE_ME #define INCLUDE_ME #include <iostream> #include <vector> using namespace std; class BigInt { private: vector<int> number; public: // Constructeurs BigInt(int number); BigInt(string number); // Operators ostream& operator<<(ostream& flux, const BigInt& bigNumber); }; #endif
Ce qui me semblait bizarre c'est que je met ma définition de méthode en public
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include "BigInt.h" // Constructeurs BigInt::BigInt(int number) { this->number[0] = number; } BigInt::BigInt(string number) { for (int i = 0; i < number.size(); i++) { this->number.push_back((int)number[i]); } } // Operators ostream& BigInt::operator<<(ostream& flux, const BigInt& bigNumber) { //return flux; }!
Je peux pas en dire plus juste ce petit détail que je trouve bizarre :S !
Merci d'avance pour votre aide !
Partager