Clase în C++ #include //pentru 'cout' #define SIZE 10 class stiva //C// class defineste un nou tip (tipul stiva) { //O// Sectiunea particulara cu membrii sai int stiv[SIZE]; //D// (variabilele membre) int indice; //////____________________________ public: //C// void init(); //L// Sectiunea publica cu membrii sai void pune(int val); //A// (functiile membre) int scoate(); //S// }; //A//_____________________________ void stiva::init( ) { indice = 0; }
//atentie la scrierea functiilor
void stiva::pune(int val) { if (indice == SIZE) cout<<"Stiva este plina!"; stiv[indice]=val; indice++; } int stiva::scoate( ) { if (indice==0) cout<<"S-a ajuns la limita de jos!"; indice--; return stiv[indice]; } main( ) { stiva stiva1; // se creaza un obiect(variabila) de tip stiva stiva1.init( ); stiva1.pune(200); stiva1.pune(45435); cout<<stiva1.scoate( )<<"\n"; cout<<stiva1.scoate( )<<"\n"; cout<<stiva1.scoate( )<<"\n"; cout<<stiva1.indice<<"\n"; // error: nu se poate accesa un membru privat return 0; } ATENŢIE! Referirea unui membru al unei clase (dintr-o secţiune de cod care nu face parte din CODUL CLASEI respective) trebuie întotdeauna făcută în legătură cu un obiect al acelei clase. Adică: nume_obiect
. nume_membru
Ex.: stiva1.init( ); N.B. Elementele particulare ale unui obiect sunt accesibile doar funcţiilor care sunt membre ale acelui obiect. Alt exemplu:
#include //pentru ‘cout’ #include<stdio.h> //pentru ‘printf( )’ class CLS //se defineste un nou tip de date { int a, b; //sectiunea privata public: CLS(int z = 0) //constructorul { a = b = z; } void afisare(char *mesaj = "") //functie ‘inline’ { printf("%s a si b = %d %d\n", mesaj, a, b); } }; struct STRU { int a, b; //totul este public aici STRU(int z = 0) //constructorul { a = b = z; } }; void main() { CLS obiect_cls(1); //se definesc STRU obiect_stru(10); //obiectele cout<<endl; obiect_cls.afisare("'afisare()' publica din CLS are acces la 'a' si 'b' private din CLS\n"); obiect_stru.a = 100; //a si b din STRU pot fi modificate ptr. ca sunt publice cout<<"obiect_stru.a = "<
Related Documents
More Documents from ""