Statt getter/setter sagt man im C++-Kontext auch gerne Observer/Modifier
bzw. Beobachter/Mutator, was m.E. bessere Bezeichnungen derartiger
Funktionen sind.
Denn im Gegensatz zu bspw. Java ist das const Bestandteil der Signatur
und kennzeichnet die Elementfunktion klar als Beobachter. Versuche ich
ein const-Objekt zu verändern mit einem Mutator (aka setter, ohne
const), dann widerspricht das der const-correctness und kann nicht
übersetzt werden. Und const-correctnes ist ein ganz hohes Gut bei C++!
Deswegen wird auf die Vorsilbe "get..." oder "set" oft verzichtet. Bei
C++ prüft das der Compiler und nicht der Mensch.
Ein Beobachter liefert Information über das Objekt, das kann auch etwas
Berechnetes sein wie etwa der Flächeninhalt aus den Attributen Höhe und
Breite.
Die Datenelemente einer Klasse sind die interne (!) Repräsentation des
Objektzustandes: und diese interne Repräsentation sollte nicht durch den
"wahllosen" Einsatz von sog. gettern nach aussen transportiert werden.
Noch schlimmer ist allerdings der "wahllose" Einsatz von settern: ein
Mutator (setter) soll den beobachtbaren Zustand eines Objektes setzen.
Dabei sind sicher nicht alle Wertekombinationen der Datenelemente
erlaubt. Einen gültigen Zustand (nach einer Veränderung) aber
sicherzustellen, genau das ist die Aufgabe der Mutatoren.
Sinnvollerweise bekommen die setter Zusicherungen (Assertionen), um ggf.
die Gültigkeit der Parameterwerte sicherzustellen (Vorbedingung) und am
Ende des Mutators auf einen gültigen Objektzustand zu prüfen
(Nachbedingung).