Situatie
Solutie
#include <iostream> #include <fstream> #include <math.h> using namespace std; class complex { private: //era implicit float a,b; //a - partea reala, b - partea imaginara public: void citire(char* s) //functie ptr. introducerea datelor intr-un numar complex /*acesta functie va fi dezvoltata in interiorul clasei, catalogata fiind ca si functie in-line*/ { cout<<"Introduceti datele nr. complex "<<s<<endl; /*in loc de endl ar fi mers si 'n' sau "n"*/ cout<<"tpartea reala: "; cin>>a; cout<<"tpartea imaginara: "; cin>>b; } void afisare(char*); //functie pentru afisarea datelor intr-un numar complex /*functia <afisare> va fi dezvoltata in exteriorul clasei, catalogata find ca si functie off-line*/ }; void complex::afisare(char* s) { cout<<"Nr. complex "<<s<<" este: "<<a; cout.setf(ios::showpos); //se adauga un semn '+' valorilor pozitive cout<<b<<"*i"<<endl; cout.unsetf(ios::showpos); //se anuleaza semnul '+' ptr. valorile pozitive } void main() { //declaram un obiect la clasa anterior definita complex z1; /*apelam functia de citire pentru obiectul in caz (in situatia de fata el devine obiect curent)*/ z1.citire("z1"); z1.afisare("z1"); cout<<endl; /*in cazul de mai sus am facut o declaratie de obiect static. Ce se intampla in situatia in care obiectul declarat este unul dinamic?*/ complex* z2; z2=new complex; //am folosit operatorul de alocare de memorie din C++, si anume <new> z2->citire("z2"); z2->afisare("z2"); int g; cin >>g; }
Leave A Comment?