FSST - Hardwarenahe Programmierung

Erweitern von Methoden der Basisklasse

Vererbung in C++

Bestehende Methoden der Basisklasse erweitern und verwenden:

class DateString : public Date
{
public:
    DateString():Date() {}
    DateString(uint8_t _day, uint8_t _month, uint8_t _year): Date(_day, _month, _year) {}
 
	int GetDay() { 
		int d = Date::GetDay();
		d++;
		return d; 
	}
};
  • Zeile 7: Definieren einer Methode in der abgeleiteten Klasse, deren Name mit einer Methode der Basisklasse identisch ist.
  • Zeile 8: Aufruf der Methode der Basisklasse im Anweisungsteil der abgeleiteten Klasse
    Um Namenskonflikte zu vermeiden, setzen man vor die Methode den Klassennamen gefolgt von dem Scope-Operator
    ACHTUNG: Die neue Methode verdeckt ALLE gleichnamigen Methoden der Basisklasse unabhängig von deren Parameterliste.
  • Zeile 9: Implementieren der ergänzenden Anweisungen, die vor oder nach dem Aufruf der Methode der Basisklasse in den Code der abgeleiteten Methode eingefügt werden können.


See how it works: DateString

Klasse DateString von Date ableiten


All wikipages