Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » arrays, unterschiedliche Datentypen und Methodenaufrufe

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 ] [ 2 ] > 3 < [ 4 ]
020
01.07.2004, 20:30 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne meine Glaskugel bin ich auch aufgeschmissen und tappe im dunkeln
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
01.07.2004, 20:56 Uhr
songbird



*ggg* ja das waren wir auch . So nen Absturz hatten wir nämlich noch nie und von daher waren wir total hilflos
aber wr haben's rausgefunden, dank debuggig-zu-fuß
Mal schauen ob wir jetzt wenigstensmalweiter als einen Schritt nach vorne kommen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
01.07.2004, 23:05 Uhr
songbird



EDIT: Problem hat sich erledigt , darum hab ich das Post gelöscht
Dieser Post wurde am 01.07.2004 um 23:57 Uhr von songbird editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
02.07.2004, 17:14 Uhr
songbird



Jetzt haben wir doofer Weise ein Problem mit dem späten Binden (glauben wir zumindest...):

unser persons-array ist ein pointer vom Typ Staff.
Dort stehen ja aber Manager, Heads und Employees drin.

Head und Employee haben als zusätzliches Attribut string branch.

Wir greifen jetzt auf eine bestimmte Stelle (int changer) im Array zu. Und WIR wissen auch, dass an dieser Stelle ein Objekt vom Typ Employee steht...
Aber der Compiler meckert beim Aufruf von persons[changer]->getBranch().
Wir denken dass es daran liegt, dass das array ja vom Typ Staff ist und daher branch und getBranch() nicht kennt..... Erst durch das späte Binden, also zur Laufzeit des Programmes würde sich ja rausstellen, dass es sich um ein Objekt vom Typ Employee handelt...

Wie könnten wir das lösen=???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
02.07.2004, 17:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenn persons vom Typ staff ist und getBranch() nicht solltest du es mal mit nem cast versuchen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
02.07.2004, 17:33 Uhr
songbird




Das Objekt auf das wir getBranch() anwenden wollen, kennt diese Methode, da es eine Unterklasse von Staff ist und das Attribut string branch hat....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
02.07.2004, 17:41 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ja aber du hast es in ein staffarray geschrieben das heisst an der stelle ist es zunächsteinmal ein staff...

für solche fälle gibt es eigentlich dynamic_cast...

mit dynamic_cast kannst du rausbekommen ob das objekt vom gewünschten typ ist...


C++:
.
.
.
Employees *pEmployees;
Heads *pHeads ;
Manager *pManager;


if(pEmployees = dynamic_cast<Employees *>(persons[changer]){ //wenn person[changer] auf ein pEmployees-objekt zeigt

pEmployees->.....//was auch immer
}


if(pHeads = dynamic_cast<Heads *>(persons[changer]){ //wenn person[changer] auf ein pHeads-objekt zeigt

pHeads ->.....//was auch immer
}

if(pManager= dynamic_cast<Manager *>(persons[changer]){

pManager->...
}


vorsicht hab den spass selber noch nie benutzt sondern nur mal theoretisch was dazu gelsen und das so direkt ins forum gehackt kann also auch totaler blödsinn sein
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 02.07.2004 um 17:42 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
03.07.2004, 00:37 Uhr
songbird



jep, danke Windalf das war wunderbar!!!

EDIT: Das Problem von hier hat sich mal wieder erledigt

Dieser Post wurde am 03.07.2004 um 00:44 Uhr von songbird editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
03.07.2004, 00:50 Uhr
typecast
aka loddab
(Operator)


@songbird: Könntest du das bitte lassen deine Probleme einfach zu löschen? Gib statt dessen doch einfach die Lösung an. Vielleicht hat jemand genau das selbe Problem und benutzt die Suchfunktion.

Dann hilft es der/demjenigen nicht weiter, wenn du deine Probleme wieder löschst. Da ist eine Angabe der Lösung schon viel besser.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
03.07.2004, 00:58 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Vielleicht hat jemand genau das selbe Problem und benutzt die Suchfunktion.


Und vermutlich liest der dann auch bis Post 028
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ]     [ 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: