Konvertierungen und RTTI
- C++ ist Programmiersprache mit strenger Typüberprüfung
-
- Vorteil für robuste Programme
-
- Konvertierungen häufig:
- Aufruf von Funktionen, Methoden und Operatoren
- Initialisierung und Zuweisung
- Kategorien zur Unterscheidung:
- implizite und explizite
- statische und dynamische
Konvertierungen
- Konvertierung erzeugt nur dann einen LValue, wenn das
Ergebnis eine Referenz ist
Frage: Syntaxfehler? Oder was passiert hier?
// File: RValue.cc
#include <iostream.h>
// ...
int main()
{
C c(1, 'C', 3.3);
A a(2);
((A)c) = a;
c.print();
((A&)c) = a;
c.print();
a = c;
a.print();
return 0;
}