Iskreno, nije mi jasno kako si dosao do klasa, a da nisi naucio osnovna pravila o privatnim, javnim i protected clanovima...
Ovako ti stvari stoje. Da bi radio sa privatnim clanovima, imas 2 nacina:
1. preko konstruktora
2. preko getter i setter funkcija
1. Preko konstruktora se obicno vrsi samo inicijalizacija na neku defaultnu vrijednost i to se dogadja prilikom kreiranja objekta. U suptornom bi ti objekt imao neinicijalizirane clanove.
2. getter i setter funkcije se koriste da bi preko objekta te klase mogao pristupiti javnim clanovima, odnosno mijenjati defaultnu vrijednost. svaka getter metoda ima sljedecu sintaksu
Code:
TipPrivClana getImeMetode()const{
return privatniClan;
}
Kao sto vidis ime je dobila prema ovom clanu get (koji se i kod nas moze prevesti kao uzmi, dobavi i sl.). Sljedeca je setter funkcija sa sintaksom
Code:
void setImeMetode(TipPrivatnogaClana nekoIme){
privatniClan=nekoIme //za brojcane vrijednosti
}
za nizove karaktera (staticke) prvo moras pobrisati defaultnu vrijednost pa tek onda iskopirati novu
Code:
void setImeMetode(char[] nekoIme){
delete [] privatniNizKaraktera;
strncpy(privatniClan,nekoIme,velicinaNiza);
}
a za pristup nizu karaktera preko pointera
Code:
void setImeMetode(char* nekoIme){
delete [] pointerPrivatniClan;
pointerPrivatniClan=new char[strlen(nekoIme)+1];//+1 ide da bi mogao koristiti strcpy
strcpy(privatniClan,nekoIme);
}
Sada iz main() ides
Code:
Klasa objekt;
cout << objekt.getMetoda() << endl;
ili
objekt.setMetoda(nekiParametar);