Documente Academic
Documente Profesional
Documente Cultură
Raport C Lab 2
Raport C Lab 2
Raport C Lab 2
FCIM
Catedra Calculatoare
RAPORT
la lucrarea de laborator nr. 2
la programarea in limbajul C++
Varianta 13
0
Chiinu 2016
Sarcina:
S se scrie un program pentru implimentarea unei clase care include un set de date specifice ct i
urmtoarele metode:
- Constructor prestabilit,
- Constructor de copiere,
- Constructor cu parametri,
- Metod de iniializare a datelor,
- Metod de afiare a datelor,
- Metode de returnare i afiare separat a datelor(opional).
Clasa va conine metode descrise att n interior ct i n exteriorul ei. Cel puin o metod va fi declarat ca
funcie prieten. Dup posibiliti s se utilizeze pointerul this i operatorul rezoluie( ::).
class Riu {
char *cnt = new char, *nume = new char;
float lng, dbt;
public:
Riu() {
cout << " ############################################# ";
cout << "\n ## A functionat constructorul prestabilit! ##\n";
cout << " ############################################# \n";
};
Riu(char *cnt, char *nume, float lng, float dbt) {
cout << "\n\n ############################################## ";
cout << "\n ## A functionat constructorul cu parametri! ##\n";
cout << " ############################################## \n";
this->nume = nume;
this->cnt = cnt;
this->lng = lng;
this->dbt = dbt;
}
Riu(Riu &r) {
cout << "\n\n ############################################ ";
cout << "\n ## A functionat constructorul de copiere! ##\n";
cout << " ############################################ \n";
1
nume =r.nume;
cnt = r.cnt;
lng = r.lng;
dbt = r.dbt;
}
~Riu() {}
void InitData();
friend void ShowData(Riu&);
};
void Riu::InitData() {
cnt = new char;
nume = new char;
cout << "\n !!! Initializare primului obiect:";
cout << "\n -Introduceti numele riului:";
cin >> nume;
cout << " -Introduceti denumirea continentului:";
cin >> cnt;
cout << " -Introduceti lungimea riului:";
cin >> lng;
cout << " -Introduceti debitul anual al riului:";
cin >> dbt;
}
int main(){
Riu riu1;
riu1.InitData();
ShowData(riu1);
Riu riu2("Africa","Nil", 6853, 2830);
ShowData(riu2);
Riu riu3(riu2);
ShowData(riu3);
riu1.~Riu();
riu2.~Riu();
riu3.~Riu();
_getch();
return 0;
}
2
Rezultatele Testrii:
Concluzia: