Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zufallsfunktion..

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 ] [ 5 ] > 6 <
050
26.03.2004, 14:23 Uhr
Fraenky



kann man es nicht auch mit normalen Arrays machen?? nur so ne Frage..

CMensch einMensch[4];
und dann ist einMenscn[0] - einMensch[3] die Spieler??

Kann man Klasseninstanzennamen auch in eine Variable packen??
ungefähr so:

string sMenschname='Fraenky';

CMensch sMenschname;


naja werd dein Beispiel wohl mal übernehmen..

THX

MfG
Fraenky
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
051
26.03.2004, 14:27 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

kann man es nicht auch mit normalen Arrays machen


*lol*

weiss jetzt gar nicht auswendig ob der kompiler das hier frisst

C++:
CMensch einMensch[4];


hmm mir fällt jetzt auch kein grund ein warum er es nicht tun sollte...

So wie ichs dir geschrieben hab ist das universaler, da du zum einem mit beliebig vielen objekten spielen kannst und das ggf auch noch im programmablauf ändern kannst... und du kannst halt beim erzeugen der objecte schon ein einfluss drauf haben in dem du in abhängigkeit vom objekt den eventeuell von dir definierten konstruktor aufrufst....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
052
26.03.2004, 15:00 Uhr
Fraenky



ja das klappt! hätt ich auch net gedacht..na dann werd ich mal proggen...

cya
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
053
26.03.2004, 15:37 Uhr
Fraenky



klappt doch nicht so wie ich wollte:
ich kann jetzt nämlich keine Variable für die Zahl im Array verwenden:

C++:
cout << " Wie viele Spieler? ";
cin >> spieler;

CMensch Mensch[spieler];



Fehlermeldung:
Error E2313 Wurfel.cpp 34: Constant expression required in function main()

was kann man da noch machen??
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
054
26.03.2004, 15:48 Uhr
typecast
aka loddab
(Operator)


Windalf hat dir die Frage schon beantwortet: Siehe Post 049
--
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
055
26.03.2004, 16:46 Uhr
Fraenky



also ich habe jetzt Windalfs Code so ausprobiert und das geht nicht:


C++:
CMensch **spieler;
spieler=new CMensch*[anzahl];

for(i=0; i<anzahl; i++)
{
spieler[i]=new Mensch;
}


Fehlermeldung:
Error E2303 Wurfel.cpp 40: Type name expected in function main()
Error E2034 Wurfel.cpp 40: Cannot convert 'int *' to 'CMensch *' in function main()
Error E2379 Wurfel.cpp 40: Statement missing ; in function main()


ich komme nicht weiter...

THX!

MfG
Fraenky
--
Welcome to the real World.

www.fraenkysweb.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
056
26.03.2004, 16:56 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


der code war wenn du es mit einem explizieten konstruktor machen willst, weil du dann ein array von CMensch-pointern brauchst um dann diese auf ein explietes objekt der klasse CMensch zeigen zu lassen...

sonst wenn du nur den defaultkonstruktor brauchst gehts auch z.b. so

C++:
int anzahl;
//hier irgendwie in anzahl den gewünschten wert einlesen

CMensch *spieler;
spieler=new CMensch[anzahl];


//mit dem array arbeiten


//am ende freigeben mittels delete nicht vergessen sonst müllst du den speicher zu
delete [] spieler;


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 26.03.2004 um 16:57 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
057
27.03.2004, 13:40 Uhr
Fraenky



hi again..
da ich nun mehrer Klasse instanzen per Eingabe erzeugen kann, brauch ich noch die dazugehörigen Variablen, leider funzt das wieder..


C++:
int anzahl;
cin >> anzahl;
int eing_zahl[anzahl];



oder muss man das genau wie bei den Klasseninstanzen machen?? und neue Objekte erzeugen? (ich glaub das geht bei normalen Variablen gar nicht oder?)

THX!

MfG
Fraenky
--
Welcome to the real World.

www.fraenkysweb.de

Dieser Post wurde am 27.03.2004 um 13:42 Uhr von Fraenky editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
058
27.03.2004, 14:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

...brauch ich noch die dazugehörigen Variablen...


öhm von welchen variablen sprichts du denn jetzt gerade?...



C++:
int anzahl;
cin >> anzahl;
int eing_zahl[anzahl];


also wenn du das hier mit deinem compiler zu laufen bekommst hut ab... Ich hörte zwar davon das es compiler geben soll die das wohl fressen aber ich glaub da nicht dran....

an sonsten musst du auch an dieser stelle wieder speicher dynamisch allokieren und am ende wieder freigeben... da anzahl ja noch nicht zur compilzeit feststeht sondern erst später vom benutzer im programmablauf festgelegt wird, musst du denn speicher also wieder mit new allokieren...


C++:
int anzahl;
cin >> anzahl;
int *eing_zahl;
eing_zahl= new int[anzahl];

// mit dem array eing_zahl arbeiten

//freigeben am ende nicht vergessen
delete [] eing_zahl;



das das mit der allokierei ziemlich lästig ist kann man das ganze z.b. auch wieder in einer klasse kapseln und im konstruktor den speicher mit new allokieren und im destruktor dann wieder mit delete freigeben.....
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] > 6 <     [ 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: