Ich verstehe die Unterschiede der Vererbung von öffentlichen, privaten, geschützt in Bezug auf Klasse Methode/Eigenschaft Constructs. Allerdings ist meine Frage speziell mit Zeigern terminierten Strings auf null ..C++ Schutz eines privaten char * einer Klasse
class MyClass
{
private:
char * SomeValue;
...
...
}
nun irgendwo über die Verarbeitung, die myclass-> EinWert wird mit einem String-Wert zugeordnet und bevölkert. Kein Problem. Nun möchte ich eine aufrufende Quelle, die eine Instanz meines "MyClass" -Objekts erstellt hat und den String-Wert von diesem benötigt. Da C++ mit Zeigern und Zeigern auf Zeiger usw. viel Schaden anrichten kann, möchte ich den Zeiger auf die Zeichenkette zurückgeben, die zugewiesen wurde, aber niemand möchte Werte ändern. Wird dieser Standard innerhalb des Compiler- und Speichermanagements kontrolliert? Es ist ein geringes Risiko, dass jemand diese Klasse als in erster Linie für interne Zwecke verwendet, aber nur mehr von meinem Verständnis.
Dank
Nur für das Protokoll: Sie sollten auch eine konstante Elementfunktion machen 'get_SafeSomeValue'. –
Also erzwingt der "const" Modifier das Schutzniveau? Danke ... das scheint unter meinen Umständen der Konsens der Antworten zu sein. – DRapp
Nein, Sie können immer noch 'delete myClassInstance-> get_SafeSomeValue(); 'aufrufen und der Compiler sagt nichts. – Simone