-
20-05-2004, 15:48 #1
Kan iemand mij helpen met een C++ oefening?
Hallo, ik weet niet of ik hier deze thread mag zetten maar het heeft toch ook een beetje te maken met programmeren.
Ik moet 2 oefeningen maken voor het school met C++ maar het lukt niet zo goed en ik kom een beetje raad vragen.
Weet iemand hoe je de volgende oefeningen kan maken?
1: Maak een class object, de class heeft 4 private members, 3 constructors en 5 public functies (opvullen, tonen inhoud, telop enz eigen keuze).
Gebruik het volledige opbject door gebruik te maken van een instantie waarin je alle elementen van de class aanroept (alles laten zien op het scherm).
Er mogen geen cin of cout functie zijn.
2. Maak een class opbject. Het object heeft als naam DIERENRIJK. Het heeft een constructor met 2 argumenten: het 1e is type dier (slangen, vogels, spinnen, wormen, tijgers) en het 2e is mannelijk of vrouwelijk.
Het object heeft een functie dat zegt welk geslacht het dier is. dus M of V (public) Geslacht per dier is naar eigen keuze.
Tis al zoiets: Dierenrijk instantie (2,1)
char* spinnen, vrouw
Dit zijn de 2 oefeningen. Graag hulp aub!!!
Groetjesno votes
-
-
20-05-2004, 17:19 #2Crew Member
- Registered
- 01/09/02
- Location
- Peutie
- Posts
- 7,664
- iTrader
- 0
- Mentioned
- 4 Post(s)
- Reputation
- 13/105
Alsde 2 lessen opgelet hebt dan is da zo simpel als iets...
2de is dezelfde manier...Code:class iets { private: 4 variabelen; public: 1ste constructor me attributen; 2de constructor me minder attributen; 3de constructor me nog minder atributen; public functions; };
ma ik denk ni da der iemand die oefeningen voor u gaat maken ze
Vanaf nu gaan we verder op BeyondGaming!
In deze thread wordt uitgelegd hoe je jouw account kan migreren.no votes
-
20-05-2004, 18:44 #3Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
2°:
en dit was echt wel simpel imho.Code:class dierenrijk { private: char* m_naam; char m_mannelijk; public: dierenrijk(char* naam, char geslacht); char get_geslacht(); }; char dierenrijk::get_geslacht() { return this->m_geslacht } dierenrijk::dierenrijk(char* naam, char geslacht) { this->m_naam = naam; this->m_geslacht = geslacht; }
my bad.Last edited by killgore; 20-05-2004 at 21:29.
no votes
-
20-05-2004, 20:43 #4Member
- Registered
- 10/01/03
- Location
- De Panne / Leuven
- Posts
- 153
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
20-05-2004, 21:30 #5Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
21-05-2004, 14:27 #6Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
da wist ik ook ni da een char evenveel inneemt als een bool, is wel logisch natuurlijk
ma, voorwa gebruik je nu een char ipv een bool? das toch superonduidelijk?
kzou toch wel een bool gebruiken hoor, en bools gebruiken heeft ook veel nut als ge met flags gaat werken enzo, dan ga je wel minder space wasten
[Rasta]Grayfoxno votes
-
21-05-2004, 23:14 #7
Je kan net zo goed een enum gebruiken, want door alignment zal die bool of char toch 3 bytes extra gebruiken.
Huidige layout:
char* : 4 bytes (8 op een 64-bit systeem)
char : 1 byte
padding: 3 bytes
Maakt dus echt niet uit of je daar nu een bool, char, enum of int voor gebruikt.
De char* opslaan in plaats van voor de class een eigen kopie te maken is trouwens wel riskant als je de invoerstrings later nog verandert.
// hier moet nog wat rommel rond om het te kunnen compileren
// de code zelf is ook maar rommel
// lever dit in op school en je buist
// heb al meer dan een jaar geen lijn C++ meer geschreven, schiet me niet af als er stommiteiten in staan
// extra oefening:
// 1: los het duidelijke probleem op
// 2: vind de buffer overflow bug (niet moeilijk
was te lui om het alternatief te gebruiken)
char naam[20];
dierenrijk *beest[2];
for(int i=0;i<2;i++) {
printf("naam beest %d?", i);
gets(naam);
beest[i]= new dierenrijk(naam, 'm');
}
for(int i=0;i<2;i++) {
// veronderstel dat nog iemand zo vriendelijk is de naam toegankelijk te maken
printf("naam beest %d: %s"\n,i,beest[i]->getnaam());
// alternatief: maak de naam public
printf("naam beest %d: %s\n",i,beest[i]->m_naam);
}
Trouwens, wie heeft die achterlijke oefening opgesteld? Geen cin/cout? Dus de uitvoer op de C manier? En zo simplistisch, gewoon belachelijk. Een dierenrijk dat als eigenschappen naam en geslacht heeft?
Een dier heeft die eigenschappen, niet het dierenrijk.
"If you have a right to respect, that means other people don't have a right to their own opinions."
Thomas Sowellno votes
-
22-05-2004, 13:27 #8
http://www.huiswerk.com
Closed.Uzghul, 70 Rogue; Tankghul, 70 Warrior; Uziuz, 70 Paladin; Skinny, 70 Priest; Darkrune, 70 Warlock; UniKorn, 60 Druid; Martinuz, 59 Hunter; Marceluz, 59 Mage; Flexy, 30 Rogue;no votes
