Placa de Baza
Caracteristici generale ale placii de baza Placa de baza este un dizpozitiv ‘de baza’ un...
Acest curs prezinta Curs C++ in Romana. Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).
Arhiva contine 41 fisiere doc de 64 de pagini (in total).
Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.
Fratele cel mare te iubeste, acest download este gratuit. Yupyy!
Domeniu: Calculatoare
Clase în C++
#include<iostream.h> //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( ) //atentie la scrierea functiilor
{
indice = 0;
}
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;
}
ATENTIE! Referirea unui membru al unei clase (dintr-o sectiune de cod care nu face parte din CODUL CLASEI respective) trebuie întotdeauna facuta în legatura cu un obiect al acelei clase. Adica:
nume_obiect . nume_membru
Ex.: stiva1.init( );
N.B. Elementele particulare ale unui obiect sunt accesibile doar functiilor care sunt membre ale acelui obiect.
Alt exemplu:
#include<iostream.h> //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 %dn", 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 CLSn");
obiect_stru.a = 100; //a si b din STRU pot fi modificate ptr. ca sunt publice
cout<<"obiect_stru.a = "<<obiect_stru.a<<endl;
}
Functia membra a clasei
Pentru a avea acces la variabilele clasei CLS are atasata o functie de tip membru (member) în corpul clasei (adica inline) în portiunea publica a clasei, accesibila din oricare functie inclusiv main( ): void afisare(char *mesaj =” ”).
Restrictii care se aplica membrilor clasei:
- o variabila membru care nu este de tip static nu poate sa aiba o initializare;
- nici un membru nu poate fi un obiect al clasei care se declara, dar poate fi un pointer catre o clasa declarata;
- nici un membru nu poate fi declarat ca auto, extern sau register.
Retineti! În C++, o declarare a unei structuri defineste un tip de clasa.
Programare C++ in limba romana