Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Prüfen, worauf Basispinter zeigt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.11.2004, 23:08 Uhr
derphilipder



Hallo!

Gibt es eine Möglichkeit, zu prüfen, ob ein pointer auf eine Basisklasse auf ein Objekt einer abgeleiteten Klasse zeigt?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.11.2004, 23:29 Uhr
0xdeadbeef
Gott
(Operator)


mit dynamic_cast. Wenn der cast nicht möglich ist, gibt dynamic_cast 0 zurück. Zum Beispiel:

C++:
#include <iostream>

struct A { virtual ~A() { } };
struct B : public A { };

int main() {
  A *a = new A;
  A *b = new B;

  std::cout << dynamic_cast<B*>(a) << std::endl
            << dynamic_cast<B*>(b) << std::endl;

  delete a;
  delete b;
}


Wobei wichtig ist, dass A nen virtuellen Destruktor hat, also polymorphic ist.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 30.11.2004 um 23:29 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.11.2004, 23:40 Uhr
derphilipder



Hmm...und wenn ich mehrere abgeleitete Klassen hab und wissen möchte, auf welche Klasse der Pointer genau zeigt?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.11.2004, 23:48 Uhr
0xdeadbeef
Gott
(Operator)


Du kannst dir mit typeid ein type_info-Objekt holen, wenn dir das weiterhilft...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.12.2004, 10:59 Uhr
derphilipder



Ich denke, ich lass mir was einfacheres einfallen. Trotzdem Danke!
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.12.2004, 11:59 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat von derphilipder:
Ich denke, ich lass mir was einfacheres einfallen

Na, da bin ich aber mal gespannt...
Lass unds dann mal an der Lösung teilhaben, denn was viel einfacheres als typid kann ich mir nicht vorstellen...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.12.2004, 13:59 Uhr
derphilipder



So war das gar nicht gemeint...wollte vielmehr sagen, daß ich meine konkrete Aufgabenstellung anders lösen werde, als durch das Ermitteln des Datentyps.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.12.2004, 14:03 Uhr
derphilipder



doppelpost
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"

Dieser Post wurde am 01.12.2004 um 14:04 Uhr von derphilipder editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: