Ich versuche, sowohl die Stream-Insertion und Extraktion Operator für meine Entrepreneur
Klasse zu überlasten. die folgenden in meinem Entrepreneur KlasseOverload-Stream-Insertion und Extraktion Operator
Ich habe:
friend istream& Entrepreneur::operator>> (istream &input, Entrepreneur &entrepreneur) {
cout << "Please enter the item to be sold: ";
input >> entrepreneur.Item;
cout << "\nPlease enter the donation amount received: ";
input >> entrepreneur.Donation;
cout << "\nPlease enter the amount of members in the group: ";
input >> entrepreneur.Nr;
cout << "\nPlease enter the startup amount received: ";
input >> entrepreneur.StartupAmt;
cout << endl;
return input;
}
friend ostream& Entrepreneur::operator<< (ostream &output, Entrepreneur &entrepreneur) {
output << "Item: " << entrepreneur.Item << endl;
output << "Members in group: " << entrepreneur.Nr << endl;
output << "Startup amount: " << entrepreneur.StartupAmt << endl;
output << "Donation amount: " << entrepreneur.Donation << endl;
output << "Expenses: " << entrepreneur.Expenses << endl;
output << "Points earned: " << entrepreneur.Points << endl;
output << "All items sold: " << entrepreneur.Sold ? "Yes" : "No" << endl;
return output;
}
In meiner main.cpp-Datei, ich den folgenden Code versuchen:
int main() {
Entrepreneur Group3;
cin >> Group3;
}
Die Code kann nicht kompiliert werden. Ich erhalte die folgende Fehlermeldung:
Binary Operator ‚>>‘ kann nicht auf den Ausdruck des Typs ‚istream‘ und ‚Unternehmer‘
Können Sie Kerle angewendet werden bitte helfen ich, um herauszufinden, was mit dem oben genannten Code falsch ist?
Super danke für die Hilfe. Kannst du es bitte als Antwort posten, damit ich es annehmen kann! –
Dies sollte Ihnen einige zusätzliche Erklärungen geben: http://stackoverflow.com/questions/236801/should-operator-be-implemented-as-a-friend-or-as-a-member-function – Christophe