Når du arbeider med konstruktøren funksjon, navnet på konstruktøren i klassen beskrivelse, er klassenavnet; på den annen side, når forekomster et objekt, navnet på konstruktøren er navnet du ønsker for det nye objektet; dette navnet kan ha parentes hvis klassen hadde en konstruktør funksjon; hvis klassen ikke har en konstruktør funksjon, vil dette navnet ikke har parentes. Constructor Funksjon uten parentes i konstruktør kodeeksemplet ovenfor, har konstruktøren funksjonsparametre (argumenter). Du kan ha en konstruktør funksjon uten parametre.
I så fall verdiene til egenskapene vil være klasse standardeiendomsverdier. Følgende kode illustrerer dette: # include bruker namespace std; klasse Kalkulator {public: int num1; int num2; Kalkulator () {num1 = 11; num2 = 12; } Int add () {int sum = num1 + num2; returnere sum; }}; int main () {Kalkulator myObject; int resultat = myObject.add (); domstol returnere 0; } Les gjennom koden og merk at konstruktøren funksjonen ikke har parametre. Men i funksjon eiendommene har blitt initialisert til 11 og 12.
Nå som konstruktør-funksjonen ikke har parametere, ved oppretting (første linje i hovedfunksjon ovenfor), bør konstruktøren funksjon samtale (myObject) ikke har parentes. Definere Metode utenfor klasse Beskrivelse Du kan definere klassemetoder utenfor klassen beskrivelse. I en slik klasse beskrivelse, vil du bare ha metode prototyper (erklæringer).
Følgende kode illustrerer dette: # include bruker namespace std; klasse Kalkulator {public: int num1; int num2; Kalkulator () {num1 = 11; num2 = 12; } Int legge (); }; int Kalkulator :: legge til () {int sum = num1 + num2; returnere sum; } Int main () {Kalkulator myObject; int resultat = myObject.add (); domstol returnere 0; } Les gjennom koden hvis du ikke har gjort det. En metode erklæring slutter med et semikolon er en metode prototype. Legg merke til add () -metoden prototype i klassen beskrivelse. Definisjonen av tillegget () metoden er utenfor klassen beskrivelse.
Syntaksen til definert en metode utenfor klassen beskrivelse er: returnClassName :: conventionalDefinition