typeof ???
-
Hey Jungz, alles klar an der Bar?
Wie kann ich eigentlich feststellen, von welchem Typ ein Objekt ist?
Beispiel:
class A { // ... }; class B { // ... }; // So 'was wäre gefragt: A aTest = A(); if (typeof(aTest) == A) { // tue dies... }Wie kann ich das wohl anstellen?
Thanks und greeetz
Kessi
-
In diesem Fall weisst Du doch dass aTest ein A ist. Da es sich hier nichtmal um einen Zeiger handelt kann es auch keine von A abgeleitete Klasse sein.
Wenn Polymorphie im Spiel ist hilft Dir möglicherweise dynamic_cast.
A* test = new ChildOfA; if (dynamic_cast<ChildOfA*>(test) != 0) ...Es gibt auch noch ein typeid, allerdings fiele mir gerade kein brauchbarer Anwendungsfall dafür ein.
-
KessiMC schrieb:
...
Wie kann ich eigentlich feststellen, von welchem Typ ein Objekt ist?
...Klassische Antwort:
- Warum meinst Du das zu brauchen ? (In 95% der Fälle, in der Anfänger das meinen, brauchen sie es nicht wirklich).
- C++ hat RTTI (runtime type information) mit der operator typeid (http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=120&rl=1).Gruß,
Simon2.
-
Ooookay...
Die schreckliche Wahrheit ist: Ich brauche es tatsächlich nicht! Noch schlimmer ist, dass mich das gleich als Anfänger enttarnt.
Naja, es könnte schlimmer sein
. Zumindest ist mein Problem gelöst und ich weiss, dass es theoretisch eine Möglichkeit gibt, das zu überprüfen.Thx also und greeetz
Kessi
-
KessiMC schrieb:
...Die schreckliche Wahrheit ist...
Ach so schrecklich ist das alles nicht. Zeig mir den, der nicht als Anfänger angefangen hat !

Gruß,
Simon2.
P.S.: und ebenso hat wohl JEDER irgendwann mal gedacht, er bräuchte das ... und Keiner hier hat ausgelernt.
