Frage zu Klassen
-
Ich habe gerade angefangen mich mit Klassen zu beschäftigen. Habe jetzt dazu mal ne Frage.Ich habe bisher immer eine Klasse erstellt und dann eine Instanz dazu definiert. (Ein einfaches Beispiel Auto)
class Auto{ int geschwindigkeit; public: void init(); void bremsen(int aenderung); void gasgeben(int aenderung); void ausgeben(); }; void Auto::init() { geschwindigkeit = 0; } void Auto::bremsen(int aenderung) { if((geschwindigkeit - aenderung) < 0) { geschwindigkeit = 0; } else { geschwindigkeit = geschwindigkeit - aenderung; } } void Auto::gasgeben(int aenderung) { geschwindigkeit = geschwindigkeit + aenderung; } void Auto::ausgeben() { cout << geschwindigkeit << '\n'; } void main() { // Instanzen erzeugen Auto Auto1; Auto Auto2; // Objekte initialsieren durch Methode init() Auto1.init(); Auto2.init(); // Methode aufrufen Auto1.gasgeben(20); Auto2.gasgeben(100); cout << "\nNach gasgeben : \n"; // Geschwindigkeit ausgeben Auto1.ausgeben(); Auto2.ausgeben(); // Methode aufrufen (bremsen) Auto1.bremsen(10); Auto2.bremsen(50); cout << "\nNach Bremsen : \n"; // Geschwindigkeit ausgeben Auto1.ausgeben(); Auto2.ausgeben(); char p[50]; cin.getline(p,50); }
So sieht das normale programm aus. Jetzt würde mich interessieren wie ich in diese Programm noch eine abgeleitete Klasse reinpacke. Z.B. Autos mit Allradantrieb, frontantrieb, Heckantrieb. Und über diese abgeleiteten KLassen will ich dann die Instanzen definieren. (Das die Art des Antriebs für das Programm egal ist ist mir klar. Ist nur zu meinem Verständnis.)
Danke schonmal an alle die mir helfen.
-
Du musst dir erst mal im Klaren darüber sein, welche Teile der Klasse für alle Autos gelten und welche für einzelne Autotypen speziell definiert werden müssen. Such mal im Forum nach Vererbung, dann solltest du viele Beispiele finden.