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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.