Hallo Leute,
ich habe zu Lernzwecken mal ein kleines Konsolenprogramm geschrieben, indem ich mich mit verschiedenen Klassen und deren Kommunikation untereinander auseinandersetzen will.
Bitte macht euch keine Gedanken, über den Sinn des Programms, es geht mir nur darum etwas zu lernen und mir fielen grad keine anderen Klassen ein.
Ich muss dazusagen, dass ich mich bisher immer mit Zeigern und Referenzen schwer getan habe und sie immer versuchte zu umgehen. Mittlerweile habe auch ich bemerkt, dass man nicht drumherum kommt.
Das CodeBlocks Projekt liegt hier:
http://darkgdk.kilu.de/bilder/Konsole_Klassen.rar
Ich habe dazu zwei Verständnisprobleme!
1. Beim Kompilieren erscheint folgende Fehlermeldung:
C:\Dokumente und Einstellungen\neuma\Eigene Dateien\C++\Konsole_Klassen\main.cpp:15: warning: deprecated conversion from string constant to 'char*'
Compiling: CComputer.cpp
Linking console executable: bin\Debug\Konsole_Klassen.exe
Was ist denn nun der Unterschied zwischen char* und string. Wahrscheinlich muss ich char* in const char* ändern, oder? Aber was ist der Sinn dahinter?
2. Zugriff auf private Attribute einer Klasseninstanz von einer Instanz einer anderen Klasse:
Ich möchte also, dass das Objekt CComputer beim Aufruf des Konstruktors die HDD-Speichergröße m_iStorage aus dem als Parameter übergebenen Objekt der Klasse
CHarddisk übernimmt. Das funktioniert jedoch nur, wenn ich das Attribut m_iStorage der Klasse CHarddisk als public deklariere. Gibt es auch eine Möglichkeit
wenn es als private deklariert ist. Muss ich eine public get- Methode der Klasse CHarddisk schreiben, die mir quasi öffentlichen Zugriff auf das Attribut int m_iStrorage gestattet, oder gibt es eine andere Möglichkeit?
Ist bissl verwirrend geschrieben und ja ich weiß, ich soll mir ein Buch kaufen und die Grundlagen lernen. Aber das mache ich ja grade...!
Gruß, NEUMee...