U svoj objekt možeš staviti što god želiš tj. kako to definiraš u samoj klasi. Dakle, do objekta je.
Jedno od svojstava C++ je skrivanje podataka tj. ne dopušta se direkta izmjena nekog podatka jer to za sobom može povlačiti i neke druge izmjene u programu koje bi programer eventualno zaboravio ili sl. Zato se često takvi podaci stavljaju kao privatni, a funkcije koje im pristupaju kao javne (npr. get i set funkcije):
class A{
private:
int n;
public:
int getN() { return n }
void setN(int x) { n = x }
};
Za inicijalizaciju i deinicijalizaciju objekta. Konstruktor se pokreće kad se objekt stvara a destruktor kad se uništava. Najlakše je to prikazati dinamičkom instancom klase:
class A{
public:
A(){
cout << "Objekt stvoren!\n";
}
~A(){
cout << "Objekt uništen!\n";
}
};
int main(){
A *p;
p = new A(); // poziv konstruktora
delete p; // poziv destruktora
return 0;
}
Tu je sad puno teorije koja uključuje preopterećenje konstruktor, rad konstruktora i destruktora s statičkim objektima itd..
Klasa je opis - ne zauzima mjesto u memoriji. Objekt zauzima mjesto u memoriji.