Hjælp til terningApp i c++

Tags:    c++

Hej allesammen

Jeg er ny i c++ og programmering genrelt. Jeg har fået til opgave at lave et terning app. Jeg har oprettet Terning klassen. Men kan ikke rigtig kalde metoden role fra main klassen.
Jeg ved at java og c# der kan man bare lave new instance af klassen ved at sige Terning t = new Terning(); men hvordan gøre jeg dette i c++.
Fold kodeboks ind/udC++ kode 




9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 15 karma
Sorter efter stemmer Sorter efter dato

Jeg ved at java og c# der kan man bare lave new instance af klassen ved at sige Terning t = new Terning(); men hvordan gøre jeg dette i c++.


Altså, hvis du bare som normalt skal kalde på en funktion fra en classe, så skal du først oprette et objekt fra klassen, som du derefter skal bruge til at kalde funktionen.
F.eks. noget i stil med:
Fold kodeboks ind/udC++ kode 


Tror ikke du behøves at sætte den lige med en ny instance af klassen.
Hvis du laver et andet objekt med samme class:
Fold kodeboks ind/udC++ kode 


Så har dette objekts variabler andre værdier end det første.
Så prøv bare at skriv:
Fold kodeboks ind/udC++ kode 




Ligesom i en tidligere tråd (http://www.udvikleren.dk/forum/36885/algoritme-til-udskrivning-af-kort-spil/) skal srand() kun kaldes én gang, og ikke en gang for hvert tilfældigt tal, du vil have.



Du kunne også have skrevet:
Fold kodeboks ind/udKode 


By the way, så hedder det "roll" ikke "role".



Og hvordan ser din main ud?

Og i forhold til linje 10, mangler du ikke en return?



Hej stefan her er min main. Problemet er at den ikke kender Terning fordi den siger "identifier Terning is undefined"
Linje 10 er min constructor så derfor ikke noget return

Fold kodeboks ind/udC++ kode 




Indlæg senest redigeret d. 19.02.2012 17:23 af Bruger #14955
har du husket at #include "filnavn" i din main metode eller ligger det hele i samme fil?



Lige pt har jeg tre klasser
1) Terning.cpp som i kan se koden fra
2) Terning.h som holder definition på Terning
3) main.cpp som indeholder main

Som jeg kunne læse mig frem på diverse fora at terning.h skal indeholde definitionen af klassen med constructor og det her man definere hvilke metoderne den tilbyder mens selve implemntering sker i .cpp filen. Nu har Her er min cpp. fil
Fold kodeboks ind/udC++ kode 


Her er min Terning.h fil
Fold kodeboks ind/udC++ kode 


Her er min main.cpp

Fold kodeboks ind/udC++ kode 




Indlæg senest redigeret d. 19.02.2012 17:41 af Bruger #14955
det fungerede hvis jeg bare kalder den
Terning t = Terning();
også kalde metoden role ved at sige
t.Role();

Tak for hjælpen boys :)

Er der nogen herinde der kan svar mig hvad forskellen er på .p og .cpp fil?



.p = pascal

.cpp = c++



t