Documente Academic
Documente Profesional
Documente Cultură
LIMBAJUL C++
[ Cel mai simplu
program C++
]
Functia
main() indicand
inceputul
programului
[ class::objects::methods ]
Inserarea in
fluxul de iesire
Sfarsitul executiei
main() ce corespunde
cu sfarsitul programului
2012/2013 - Suceava
Directive
preprocesor
// Program: Informatii despre
// Author(s): Remus PRODAN
// Date: 1/24/2008
Comentarii
#include <iostream.h>
#include <string.h>
LIMBAJUL C++
[ Cel mai simplu
program C++
]
Functia
main() indicand
inceputul
programului
[ class::objects::methods ]
Inserarea in
fluxul de iesire
Sfarsitul executiei
main() ce corespunde
cu sfarsitul programului
2012/2013 - Suceava
Stream-uri in C++
Stream-urile au in principal rolul de a
abstractiza operatiile de intrare- iesire.
Ofera metode de scriere si citire a datelor
independente de dispozitivul I/O si chiar
independente de platforma.
Stream-urile incapsuleaza (ascund) problemele
specifice dispozitivului cu care se lucreaza,
sub libraria standard iostream.
LIMBAJUL C++
[ Cel mai simplu
program C++
]
[ class::objects::methods ]
Stream-uri in C++
2012/2013 - Suceava
LIMBAJUL C++
[ Cel mai simplu
program C++
]
[ class::objects::methods ]
2012/2013 - Suceava
Obiecte standard
Cand un program C++, ce
include iostream.h, este lansat in executie,
sunt create si initializate automat patru
obiecte:
LIMBAJUL C++
[
]
Stream-uri in C++
[ class::objects::methods ]
2012/2013 - Suceava
Redirectari
Dispozitivele standard de intrare, iesire si eroare
pot fi redirectate catre alte dispozitive.
Erorile sunt de obicei redirectate catre fisiere,
iar intrarea si iesirea pot fi conduse ("piped")
catre fisiere utilizand comenzi ale sistemului
de operare (utilizarea iesirii unui program
ca intrare pentru altul).
LIMBAJUL C++
[
]
Stream-uri in C++
[ class::objects::methods ]
Exemplu
2012/2013 - Suceava
#include <iostream.h>
void main( void )
{
int variabila;
cout << " Valoarea = ";
cin >> variabila;
cout << "\nValoarea= " << variabila << endl;
}
LIMBAJUL C++
[
]
Stream-uri in C++
[ class::objects::methods ]
CLASE
2012/2013 - Suceava
LIMBAJUL C++
[ Programare Orientata
pe Obiecte ]
[ class::objects::methods ]
Observatie
Singura diferen ntre structuri i uniuni
const n faptul c la uniuni, pentru
memorarea valorilor datelor membre
se folosete aceeai zon de memorie.
.
CLASE
2012/2013 - Suceava
Deosebirea esenial ntre structuri i uniuni pe de o parte - i clase - pe cealat parte const n modul de acces la membrii:
la structuri i uniuni membrii (datele i
metodele) sunt implicit publici,
Observatie
[ Programare Orientata
pe Obiecte ]
[ class::objects::methods ]
LIMBAJUL C++
2012/2013 - Suceava
STRUCTURA
Cuvnt cheie
Comparatie
class - struct
struct
class
Declarare
struct A{};
class B {};
variabile membre
Struct A a, s[10];
A a, s[10];
class B b, s[20];
B b, s[20];
In Limbajul C:
structura poate contine doar date
membre
LIMBAJUL C++
[
CLASA
In Limbajul C++:
structura poate contine pe langa date
membre si functii
implicit, specificatorul de acces la
membri este public
[ class::objects::methods ]
2012/2013 - Suceava
Exemplu
struct MyBook
{
char title[64];
// Public implicit
LIMBAJUL C++
[
Comparatie
class - struct
private:
float price;
};
[ class::objects::methods ]
Sintaxa generala
2012/2013 - Suceava
LIMBAJUL C++
[
Declararea
claselor
Exemplu
[ class::objects::methods ]
Sintaxa generala
2012/2013 - Suceava
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
2012/2013 - Suceava
Obiecte
Obiectele pot fi definite impreuna cu clasa sau separat de
declaratia clasei:
[ class ] <ID_clasa>
<lista_obiecte>;
Exemplu
deriv3
unde:
ob1 este un obiect
pob un pointer la clasa / adresa de obiect
sirOb[ ] un sir de obiecte
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
qprivate
Obiecte
2012/2013 - Suceava
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
Exemplu
2012/2013 - Suceava
class masina
{
// dat membru la care accesul este, implicit, private
char *culoare;
// dat membru la care accesul este, implicit,
int capacit_cil;
private
public:
// metod cu acces public, care permite introducerea
// datelor intr-o instan a clasei
void citire_date( );
//metod cu acces public
int ret_capacit( );
};
LIMBAJUL C++
[
Declararea
claselor
class persoana
{
char *nume;
public:
void citire_inf_pers() ;//metod public
private:
[ class::objects::methods ]
int varsta;
};
2012/2013 - Suceava
Exemplu
LIMBAJUL C++
[
Declararea
claselor
class TestA
{
int x;
public :
float y;
int GetData(void);
void PutData(int xx);
private :
void Temp(void);
protected :
char nume [20];
} xx, a[10];
[ class::objects::methods ]
Observatie
Datele private nu sunt accesibile din exteriorul clasei, n schimb
funciile public ale unei clase pot returna valori private.
OPERATORUL DE REZOLUIE ::
Implementarea tipului dreptunghi cu ajutorul unei clase
2012/2013 - Suceava
#include <iostream.h>
class dreptunghi
{
double Lung, lat;
public:
void seteaza_dimen(double, double );
double arata_Lung() {return Lung;}
double arata_Lat() {return lat;}
double calcul_arie(){return Lung*lat;}
};
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
Observatii
2012/2013 - Suceava
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
OPERATORUL DE REZOLUIE ::
2012/2013 - Suceava
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
OPERATORUL DE REZOLUIE ::
2012/2013 - Suceava
Operatorul de rezoluie apare utilizat n limbajul C++
n dou situaii:
la accesarea unor variabile mascate de
existena altor variabile locale
{
int x=3;
cout<< x << ::x; // afi. 3, 2
}
cout<<x; //afieaz 2
LIMBAJUL C++
[
Declararea
claselor
[ class::objects::methods ]
#include <stdio.h>
2012/2013 - Suceava
class Data
{
int _an, _luna, _zi; // sunt date membre
public:
// seteaza cele 3 date interne
void SetData( int an, int luna, int zi );
void Print( void ); // functie ce printeaza
// calculeaza diferenta de zile
ntre data
// curenta si data stocata la
adresa resp.
int NrZile( Data dc);
// ...
};
LIMBAJUL C++
[
Exemplu
[ class::objects::methods ]
2012/2013 - Suceava
LIMBAJUL C++
[
Exemplu
]
TEMA
[ class::objects::methods ]