C++ Vererbung Abstrakte Klasse als Basisklasse
Verfasst: Di Dez 01, 2020 8:51 pm
Guten Tag zusammen,
ich verstehe an einer Aufgabe irgendwie nicht so ganz wie das Funktionieren soll.
Hier mal die Aufgabe:
Die PKW.h so:
Nun meine Frage, die Klasse Fahrzeug braucht doch einen Konstruktor damit ich den string name doch initialisiert bekomme oder?
Dann noch eine Frage sollte man den Konstruktor dann protected machen?
ich verstehe an einer Aufgabe irgendwie nicht so ganz wie das Funktionieren soll.
Hier mal die Aufgabe:
Die Fahrzeug.h habe ich so gemacht:Fahrzeuge. Diese Oberklasse soll abstrakt sein.
a. Eigenschaften: i. Bezeichnung ii. Verfügbar (ja/nein)
b. Methoden:
i. Einlesen (Eigenschaften beim Benutzer abfragen)
ii. Ausgabe (Eigenschaften am Bildschirm ausgeben)
iii. FahrzeugVerleihen (=>nicht mehr verfügbar!)
iv. FahrzeugZurücknehmen (=>wieder verfügbar!)
PKW (zusätzlich zu Fahrzeuge)
a. Eigenschaften i. KW ii. Höchstgeschwindigkeit iii. Sitzplätze
Code: Alles auswählen
#include <string>
using namespace std;
class Fahrzeug {
protected:
bool available; //verfügbar
string name;
public:
virtual ~Fahrzeug();
void virtual einlesen() = 0;
void virtual ausgabe() = 0;
void virtual fahrzeugVerleihen(bool b) = 0;
void virtual fahrzeugZur(bool b) = 0;
};
Code: Alles auswählen
#include "Fahrzeuge.h"
class PKW : public Fahrzeug {
private:
unsigned int kw;
double speed; //höchstgeschwindigkeit
unsigned int size; //Sitzplätze
public:
//Konstruktor anschauen so:
// PKW(Name, available, KW, Speed, Size)
PKW();
~PKW();
void einlesen() override;
void ausgabe() override;
void fahrzeugVerleihen(bool b) override;
void fahrzeugZur(bool b) override;
};
Dann noch eine Frage sollte man den Konstruktor dann protected machen?