Avatar billede webcreator Nybegynder
26. februar 2006 - 17:28 Der er 3 kommentarer og
1 løsning

Copy Constructor i C++

Hej Eksperter.

Jeg sidder og læser lidt C++ i en tutorial på nettet ; http://cplus.about.com/od/beginnerctutorial/l/aa072802a.htm

Jeg undre mig i den forbindelse over et par af de metoder der er lavet i tutorial'en :

1) Employee(char *name, int id);
2) char *getName(){return _name;}
3) Employee(Employee &rhs);

Jeg vil skyde på at den første metode tager en pointer af typen char som argument - er det korrekt?

Den 2. metode er jeg lidt forvirret over - hvorfor er der en stjerne foran metodenavnet?

Og endelig undre jeg mig over &-tegnet i den 3. metode. Er det måden man får en kopi på af et objekt frem for referencen eller..?

På forhånd tak for svar :)
Avatar billede jpk Nybegynder
26. februar 2006 - 17:32 #1
1) ja, typen er char* (char-pointer, kan skrive med mellemrum "char *").
2) returnerer char*, derfor stjernen.
3) Nej, & betyder netop reference.
Avatar billede mxs Nybegynder
26. februar 2006 - 17:34 #2
Den tager rigtigt nok en pointer. Den anden derimod returnere en pointer til en char, og den tredje er en copy constructor. Copy constructoren er godt at have hvis du har en klasse, eller et objekt der har nogle pointers i sig. Har den det, skal man jo kopiere og lave nye pointers, så man ikke lige pludselig står med 2 objekter der peger på det samme.
Avatar billede mxs Nybegynder
26. februar 2006 - 17:36 #3
Ja det er rigtigt nok som jpk siger. Det er en reference, men det er netop også sådan man skal starte med at lave en copy constructor.
Avatar billede webcreator Nybegynder
05. marts 2006 - 13:43 #4
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester