Introducere în Programarea Orientata
În OOP programe găsite multe metode scurte. cod provocare astfel de metode poate fi mai lungă decât metoda în sine. În acest caz, metoda poate fi anunțată cu o linie descriptor. Pentru ei, compilatorul nu creează o funcție separată, și codul de metoda inserturi direct la fiecare loc un apel.
exemplu:
# 9; inline dublu math_operation :: getSquareRoot ()
a reveni sqrt (date);
>
Următoarele convenții, în cazul în care metoda de cod este scris în mod direct într-o clasă, este considerat în mod automat să fie în linie.
Pointer acest lucru.
În descrierea clasa declară în mod automat o variabilă cu numele acestui. Ea indică instanța curentă a clasei:
* ClassName acest lucru;
Acesta poate fi utilizat în cazurile în care există ambiguitate în numele pentru a apela în mod explicit constructorul clasei, pentru a returna un pointer la obiectul curent în metodele de clasă.
Constructori și destructori.
caracteristică OOP este că unele dintre metodele sunt efectuate în mod implicit. Acestea includ un constructor si destructor.
Constructorul este folosit pentru a inițializa variabilele de clasă și de memorie pentru alocarea matrice dinamice. Acesta se execută în mod automat atunci când un reprezentant al clasei. Constructorul are același nume ca și numele clasei. Tipul de retur nu este specificat pentru proiectant. În același timp, aceasta poate fi determinată de mai mulți constructori care diferă în numărul și tipul de argumente. Există cel puțin doi constructori
- parametrii de constructor (implicit) și
- Designer, creați o copie a obiectului (kopikonstruktor).
Destructor se numește atunci când un obiect este distrus. Acesta este de obicei folosit pentru a elibera memorie. Distrugător are același nume ca numele clasei, dar în fața numelui semnului "
stringOperation ()
# 9, # 9; void indata ()
>> lungime cin;
pentru (int i = 0; i
# 9, # 9;>
# 9, # 9; void outdata ()
cout<
Metoda clasei suprasarcini.
Metodele din clasa pot avea aceleași nume, dacă acestea diferă în numărul și / sau tipul de argumente. Această proprietate se numește metoda de supraîncărcare (sau combinare). Utilizarea mai multor designeri, în special, este posibil datorită acestei proprietăți.
exemplu:
modul de clasă
# 9; publică:
// calcul module întreg
# 9, # 9; int mod (int n)
// Modul de calcul al unui număr real
# 9, # 9; dublu mod (dublu n)
>;
void main ()
# 9, # 9; modulul m;
# 9, # 9; int a = -10;
# 9, # 9; cout<
# 9, # 9; cout<
Operator Supraîncărcarea.
Pentru fiecare clasă, puteți defini propriile operații personalizate. Această caracteristică se numește operator de supraîncărcării. Puteți supraîncărca toate operații aritmetice și logice, operațiunile de atribuire, parantezele pătrate și rotunde, noul operator și șterge.
Sintaxa pentru definirea metodei supraincarcarea operațiunii:
Operatorul VozvraschaemyyTip peregruzhaemayaOperatsiya (parametrii) <код>
EXEMPLU supraîncărcați operații de adiție:
monede monede :: operatorului + (monede a)
# 9, # 9; monede res;
# 9, # 9; res.number = this-> număr + a.number;
# 9, # 9; res return;
>