const Methoden-Frage

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

const Methoden-Frage

Beitrag von redbulls »

Hallo,
ich habe eine prinzipielle Frage zu const Methode. Wenn eine Methode als const deklariert ist, heißt das ja das innerhalb der Methode keine Members verändert werden.
Wenn ich in einer als const deklarierten Methode eine nicht const methode der Klasse aufrufen möchte schreit der Compiler. Ist es ein problem wenn ich das Problem umgehe, indem ich einfach die aufrufende Methode auch als const deklariere, auch wenn sie vl eine member indirekt verändert?

danke
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: const Methoden-Frage

Beitrag von Christian81 »

Nein das geht nicht - da meckert der Compiler dann auch - in einer const-Methode kann man keine Member verändern - und würde ja auch dem Sinn einer const-Methode widersprechen...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Re: const Methoden-Frage

Beitrag von redbulls »

Und wenn ich eine Member in einer const Methode doch verändern möchte, muss ich sie als mutable deklarieren.
Oder?
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: const Methoden-Frage

Beitrag von Christian81 »

Ja, aber warum solltest Du das wollen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Re: const Methoden-Frage

Beitrag von redbulls »

Ich arbeite mit Qt ; )
Zum Beispiel wenn man ein QAbstractItemModel ableitet und ein sehr komplexes CustomModel entwickelt. Dann kann es sein, dass man in irgendeiner überladenen const Methode, die man reimplementiert, noch etwas anderes erledigen möchte.
In meinem Fall zum Beispiel bei einer der drag and drop Methoden.
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: const Methoden-Frage

Beitrag von Christian81 »

Glaub ich zwar eher weniger aber wenn Du meinst... es gibt nur sehr seltene Fälle die soetwas wirklich benötigen
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten