toss Skrevet 13. mai 2010 Del Skrevet 13. mai 2010 (endret) Hei! For å lære meg bruk av friend har jeg laget en enkelt program som oppretter et objekt av klassen Bike, og prøver å endre de private medlemsvariablene, men selv om det kompilerer og kjører blir ikke variablene endret. Hvorfor? #include <iostream> #include <string> using namespace std; class Bike { private: int antGir; string farge; public: Bike(int gir, string f):antGir(gir),farge(f){}; int getAntGir() {return antGir;}; string getFarge() {return farge;}; friend void malGul(Bike b); }; void malGul(Bike b) { b.farge = "gul"; b.antGir++; } void main() { Bike b1(21, "svart"); cout << "b1.farge: " << b1.getFarge() << endl; cout << "b1.antGir: " << b1.getAntGir() << endl; cout << endl << "SYKKELREPERATØREN!" << endl; malGul(b1); cout << "b1.farge: " << b1.getFarge() << endl; cout << "b1.antGir: " << b1.getAntGir() << endl; } Takk for svar! EDIT: Ai ai, pinlig sak.. Ser jeg har glemt call-by-reference.. Kanskje en moderator vil slette/arkivere? Endret 15. mai 2010 av toss Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå