Va rog mult..Ajutor C++.
Sa se defineasca clasa "Polinom".Sa se defineasca constructorul implicit,3 constructori cu parametri,costructorul de copiere. Sa se defineasca destructorul clasei. Sa se defineasca 5 functii membre ale clasei,una din ele fiind functia de afisare.
Toate datele membre trebuie sa fie private.
Răspunsuri la întrebare
#include <cstdlib>
#include <iostream>
#include <typeinfo>
using namespace std;
template <class T>
class Polinom
{
public:
Polinom() : a(NULL), n(0) {}
Polinom(int n, T* a) : a(a), n(n) {}
Polinom(T *a, int n) : a(a), n(n) {}
Polinom(Polinom<T> const &x)
{
a = new T[x.n + 1];
for (int i = 0; i <= n; i++)
a[i] = x.a[i];
n = x.n;
}
~Polinom()
{
if (a)
delete (this->a);
}
void init(T* a, int n){
this->a = a;
this->n = n;
}
template <class R>
R valoare(R x){
R p = 1;
R s = 0;
for(int i = 0; i < n; i++){
s += p*a[i];
p = p*x;
}
return s;
}
void afisare(){
cout << "Polinom de ordinul " << n << " cu coeficientii:\n";
for(int i = 0; i <= n; i++)
cout << "a" << i << " = "<< a[i]<<"\n";
cout<< "de tipul " << typeid(*a).name() << " se afla la adresa " << this << " in memorie"<<endl;
}
template <class R>
R operator()(R x){
return valoare<R>(x);
}
void f1(){}
void f2(){}
void f3(){}
private:
T *a;
int n;
};