003
11.01.2008, 18:38 Uhr
0xdeadbeef
Gott (Operator)
|
Ne, Guybrush hat sich da nur verdacht. Was du da vorhast ist keine saubere Sache, du willst evtl. dein Design an der Stelle überdenken - Prinzipiell gibst du, wenn du ein B-Objekt in einem A-Zeiger speicherst, alles Wissen darüber auf, dass es sich um ein B-Objekt handelt - wenn du wüsstest, dass der Zeiger auf ein B-Objekt zeigt, warum überhaupt einen A-Zeiger benutzen?
Es ist allerdings möglich (wenn auch nicht wirklich empfehlenswert), das mit dynamic_cast zu umschiffen, also
C++: |
A *myPointer2; B *tmp = dynamic_cast<B*>(myPointer); if(tmp != NULL) { myPointer2 = new B(*tmp); }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 11.01.2008 um 18:38 Uhr von 0xdeadbeef editiert. |