Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Problem beim Casting

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
23.10.2004, 16:37 Uhr
Snoopy



Hallo

Angenommen:
ich habe eine Klasse A, von CObject abgeleitet
und die Klassen B und C, von A abgeleitet.

Ich speichere Elemente vom Typ B und von C in einer CObList ab.

Wenn ich die Elemente wieder raushole, weiß ich aber zur Laufzeit nicht von welcher Klasse die in meiner Liste gespeicherten Objekte sind, Also muss ich sie auf A Casten, wenn ich sie raushole aus der Liste.

Dann sind doch aber die B bzw C spezifischen Attribute unbekannt. Kann ich das Problem irgendwie umgehen?

mfg snoopy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.10.2004, 17:11 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du könntest eine Funktion der Art pro Klasse machen:


C++:
CString GetClassName()
{
  return "Class";
}



also z.b


C++:
CString A::GetClassName()
{
  return "A";
}




C++:
CString B:GetClassName()
{
  return "B";
}


usw

im header dann virtual -definieren, dann wird die richtige aufgerufen. Dann kannste beim "raussuchen" dann im grunde entsprechend casten weil wenn du dann z.b

Element ist B, castest auf A, ->GetClassName == "B",
Element ist C, castest auf A, ->GetClassName == "C",
Element ist A, castest auf A, ->GetClassName == "A".
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.10.2004, 18:30 Uhr
Snoopy



snoopy sagt: supi

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.10.2004, 10:27 Uhr
Spacelord
Hoffnungsloser Fall


CObject bringt doch Möglichkeiten,an diese Informationen über die Typen zu kommen, mit.Mit IsKindOf dem RUNTIME_CLASS Makro der Create Methode etc. liegt meiner Meinung nach ein brauchbares Typinformationssystem vor dass ich besser finde als die RTTI Geschichte mit der man ja nicht wirklich viel anfangen kann.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.10.2004, 21:53 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


jo stimmt, CObject liefert sowas ja schon, haste recht
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


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: