C++: Klassenmember ändert den Wert nicht

Gast #5516825
Lesenswert?

Hallo Leute, ich habe folgenden Code:
1
#include "../std_lib_facilities_C++11.h"
2

3
class Car {
4
public:
5
    Car(int i) : mass{i} {};
6
    int read_mass() {return mass;};
7
    void set_mass(int i) {mass == i;};
8

9
private:
10
    int mass;
11
};
12

13
int main()
14
{
15
    Car bmw {2600};
16
    cout << bmw.read_mass() << endl;
17
    bmw.set_mass(2000);
18
    cout << bmw.read_mass() << endl;
19
}

Obwohl ich vor dem letzten cout den Wert "mass" mithilfe der Funktion 
"set_mass(2000)" setze, ändert sich die Variable nicht. An was liegt 
das?
Gast #5517122
Lesenswert?

Johannes S. schrieb:
> ist ein Vergleich, keine Zuweisung...

Dass ich das so durcheinander gebracht habe unglaublich. Danke.



Yo no soy marinero, soy capitan schrieb:
> Da müsste doch eine Warnung "Statement without effect" kommen, oder?

Nein der Compiler hat nichts ausgegeben.



Nils P. schrieb:
> @Humpen, schalte bei deinem Kompiler mal den Warning Level auf maximum.
> Dann passieren Dir solche Fehler nicht.

Ja das werde ich tun.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren