Clasele - un nou tip de date
Varianta 1
int x,y,z;
void translat (int tx, int ty, int tz)
{ x+=tx;
y+=ty;
z+=tz;
}
Varianta 2 - Structuri
struct coord_3D
{ int x,y,z;
};
void translat (struct coord_3D *punct, int tx, int ty, int tz)
{ (*punct).x+=tx;
(*punct).y+=ty;
(*punct).z+=tz;
}
Varianta 3 - Clase
class coord_3D
{ private:
int x,y,z;
public:
void translat (int tx, int ty, int tz)
{
x+=tx;
y+=ty;
z+=tz;
}
};
Sectiunile clasei
privata - informatii pentru implementarea clasei, invizibile utilizatorului clasei
publica - interfata dintre clasa si utilizator
Membrii clasei
(variabilele si functiile declarate in interiorul clasei)
privati - pot fi accesati doar de catre functiile clasei
publici - pot fi folositi oriunde in program
Prototipurile functiilor
Exemplu:
class coord_3D // declararea clasei “coord_3D”
{ private:
int x,y,z; //declarare variabile membru
public:
void translat (int tx, int ty, int tz); //declarare funcie membru
};
//definirea funciei membru
void coord_3D::translat (int tx, int ty, int tz)
{ x+=tx;
y+=ty;
z+=tz;
}
Declararea obiectelor
Clasele sunt privite ca orice alt tip de date predefinit.
// Exemple de declaratii
coordonate_3D p1, p2, p3; //declarare a 3 obiecte
coordonate_3D *ptr; //declarare pointer la obiect
coordonate_3D sir[20]; //declarare sir de 20 obiecte
coordonate_3D *formeaza (int, int, int);
coordonate_3D *aduna (coordonate_3D, coordonate_3D);
// Exemple de instructiuni
p1=p2;
ptr=sir; //ptr indica sir[0]
ptr=aduna(p2, p3);
ptr=formeaza (100, 200, 300).
CURS C++ BINE STRUCTURAT
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.