Hej wszystkim, muszę rozbudować klasy wielomianu deklaracjami:
liczbaObiektow - pole przechowujące liczbę istniejących obiektów klasy wielomian,
Wyzeruj(wielomian&) - funkcja, która wyzeruje współczynniki wielomianu,
wielomian(const wielomian&) - konstruktor kopiujący,
wielomian(wielomian&&) - konstruktor przenoszący, (zadanie dla chętnych, podczas kompilacji należy dodać opcję -std=c++0x)
Lecz nie mam pojęcia jak to ugryźć, czy mogę prosić o jakąś pomoc ?
Tak wygląda mój kod
using namespace std;
#include <iostream>
class wielomian{
private:
int s;
double* W;
public:
wielomian();
wielomian(int);
int PobierzStopien();
double PobierzWspolczynnik(int);
void ZapiszWspolczynnik(int,double);
~wielomian();
static int liczbaObiektow;
friend void Wyzeruj(wielomian&);
wielomian(const wielomian&);
wielomian(wielomian&&);
};
wielomian::wielomian(){
s=0; W=new double[1]; W[0]=0.0;
}
wielomian::wielomian(int stopien){
s=stopien;
W=new double[stopien+1];
for(int i=0;i <= stopien;i++)W[i]=0.0;
}
int wielomian::PobierzStopien(){
return s;
}
double wielomian::PobierzWspolczynnik(int indeks){
if(indeks < 0) return W[0];
if(indeks > s) return W[s];
return W[indeks];
}
void wielomian::ZapiszWspolczynnik(int indeks,double wartosc){
if(indeks < 0) indeks=0;
if(indeks > s) indeks=s;
W[indeks]=wartosc;
}
wielomian::~wielomian(){
delete[] W;
}
wielomian::static int liczbaObiektow;
wielomian::friend void Wyzeruj(wielomian&);
wielomian::wielomian(const wielomian&);
wielomian(wielomian&&);
int main(){
wielomian w1,w2(4);
w1.ZapiszWspolczynnik(0,3.4);
w2.ZapiszWspolczynnik(4,-2.5);
cout << w1.PobierzWspolczynnik(0)<< "\n";
cout << w2.PobierzWspolczynnik(7)<< "\n";
}