Sunteți pe pagina 1din 1

#include<iostream>

#include <cmath>
class numar{
int n1;
double x, n2=!0;
public:
numar () {n1=0, n2=!0;}
numar(int a, double b) {n1=a, n2=b;}
numar(numar&);
void citire();
void afisare();
double power();
~numar() {cout<<"Obiectul a fost distrus !!!"<<endl;}
};
numar:: numar(numar &c) {//constructor de copiere
n1=c.n1;n2=c.n2;
}
void numar::citire(){
cout<<"Dati doua numere"<<endl;
cin>>n1>>n2;
}
void numar::afisare(){
cout<<"Valorile "<<n1<<" "<<n2<<" Power="<<power()<<endl;
}
double numar::power(){return x=pow(n1,n2);}
main(){
numar a;//constructor fara parametri
a.citire();a.afisare();
numar b(2.5, 3.5);//constructor cu parametri
b.afisare();
numar c(a);//constructor de copiere
c.afisare();
numar *p;//utilizarea pointerilor
p=new numar;//apelarea constructorului fara parametri
p->afisare();
delete p;//distrugerea obiectului
p=new numar(5,6);//apelarea constructorului cu parametri
p->afisare();delete p;
p=new numar (b);//apelarea constructorului de copiere
p->afisare();delete p;
}

S-ar putea să vă placă și