Documente Academic
Documente Profesional
Documente Cultură
2012/2013 - Suceava
in Visual C++ 6.0
C++ Builder
Code::Blocks
Directive Dev-C++
preprocesor gcc
// Program: Informatii despre …
// Author(s): Remus PRODAN
// Date: 1/24/2008
#include <iostream> Comentarii
#include <string>
using namespace std; Specidica domeniul
int main( void ) de acces a lui cout.
LIMBAJUL C++ { Se afla in std
cout << "Hello world!" << endl;
[ Cel mai simplu return 0;
program C++ ] }
Functia
main() indicand Inserarea in
inceputul fluxul de iesire
programului Sfarsitul executiei
main() ce corespunde
cu sfarsitul programului
[ class::objects::methods ]
Structura celui mai simplu program C++
2012/2013 - Suceava
in Borland C++ 3.1
Directive
preprocesor
// Program: Informatii despre …
// Author(s): Remus PRODAN
// Date: 1/24/2008
#include <iostream.h> Comentarii
#include <string.h>
Functia
main() indicand Inserarea in
inceputul fluxul de iesire
programului Sfarsitul executiei
main() ce corespunde
cu sfarsitul programului
[ class::objects::methods ]
Stream-uri in C++
2012/2013 - Suceava
[ class::objects::methods ]
Stream-uri in C++
2012/2013 - Suceava
[ class::objects::methods ]
2012/2013 - Suceava Redirectari
[ class::objects::methods ]
Exemplu
2012/2013 - Suceava
#include <iostream.h>
Observatie
Singura diferenţă între structuri şi uniuni
constă în faptul că la uniuni, pentru
memorarea valorilor datelor membre
[ class::objects::methods ]
se foloseşte aceeaşi zonă de memorie.
.
CLASE
2012/2013 - Suceava
Deosebirea esenţială între structuri şi uniuni -
pe de o parte - şi clase - pe cealată parte -
constă în modul de acces la membrii:
Observatie
• Lipsa unor modalităţi de protecţie a datelor,
LIMBAJUL C++ face ca tipurile de date introduse prin
structuri sau uniuni să nu poată fi strict
[ Programare Orientata controlate în ceea ce priveşte operaţiile
pe Obiecte ] executate asupra lor.
In Limbajul C:
• structura poate contine doar date
membre
LIMBAJUL C++
[ Comparatie • notiunea de clasa nu exista
class - struct ] In Limbajul C++:
• structura poate contine pe langa date
membre si functii
LIMBAJUL C++
price = amount;
}
[ Comparatie
void set_title(char *name)
class - struct ] {
strcpy(title, name);
}
private:
float price;
};
[ class::objects::methods ]
2012/2013 - Suceava Sintaxa generala
[ class::objects::methods ]
2012/2013 - Suceava Obiecte
Exemplu
deriv3 ob1, *pob, sirOb[ 20 ];
unde:
ob1 – este un obiect
pob – un pointer la clasa / adresa de obiect
LIMBAJUL C++ sirOb[ ] – un sir de obiecte
[ Declararea
claselor ] Modificatori de control acces
q public,
qprotected,
[ class::objects::methods ] qprivate
2012/2013 - Suceava Obiecte
[ class::objects::methods ]
Exemplu
2012/2013 - Suceava
class masina
{
// dată membru la care accesul este, implicit, private
char *culoare;
public:
// metodă cu acces public, care permite introducerea
// datelor intr-o instanţă a clasei
void citire_date( );
LIMBAJUL C++ };
[ Declararea Membrii culoare şi capacitate_cil (accesul private) pot fi accesaţi doar prin
claselor ] intermediul metodelor clasei.
class persoana
{
char *nume; //dată membru privată
public:
void citire_inf_pers() ;//metodă publică
private:
int varsta; //dată membru privată
[ class::objects::methods ] };
OPERATORI DE ACCES LA MEMBRU
Exemplu
class TestA
{
int x;
public :
float y;
int GetData(void);
void PutData(int xx);
LIMBAJUL C++ private :
void Temp(void);
[ Declararea protected :
char nume [20];
claselor ] } xx, a[10];
[ class::objects::methods ] Observatie
Datele private nu sunt accesibile din exteriorul clasei, în schimb
funcţiile public ale unei clase pot returna valori private.
OPERATORUL DE REZOLUŢIE ::
Implementarea tipului dreptunghi cu ajutorul unei clase
2012/2013 - Suceava
#include <iostream.h>
class dreptunghi
{
double Lung, lat;
public:
void seteaza_dimen(double, double );
[ class::objects::methods ]
OPERATORUL DE REZOLUŢIE ::
2012/2013 - Suceava
În exemplul anterior, metoda seteaza_dimen este
doar declarată în interiorul clasei, fiind abia apoi
definită.
La definirea funcţiei
Operatorul cuplează
nume_clasa::nume_functie_membru işi
LIMBAJUL C++ defineşte domeniul (scopul) în care acea
[ Declararea funcţie va fi recunoscută.
[ class::objects::methods ]
OPERATORUL DE REZOLUŢIE ::
2012/2013 - Suceava
LIMBAJUL C++
[ Exemplu ]
TEMA