All pastes #907235 Raw Edit

Something

public cpp v1 · immutable
·published 2008-02-17 12:08 UTC
rendered paste body
#include <cstdlib>#include <iostream>using namespace std;class ABC {      private:              double* tab;              unsigned int ilosc;      public:             ABC(unsigned int);             ABC(const ABC&);             void operator+=(const ABC&);             ABC operator--(int);             friend ABC operator+(const float w, ABC&);             ABC& operator=(const ABC& wzor);             void wypisz();             void zapelnij(double x);      };ABC :: ABC(unsigned int ile = 5){ilosc = ile;tab = new double[ilosc];for(int i=0; i<ilosc; i++)tab[i]=0;}ABC :: ABC(const ABC& wzor){ilosc = wzor.ilosc;tab = new double[ilosc];for(int i=0; i<ilosc; i++)tab[i] = wzor.tab[i];}void ABC :: operator+=(const ABC& wzor){     if(ilosc == wzor.ilosc){for(int i=0; i<ilosc; i++)tab[i] = wzor.tab[i] + tab[i];         } elseif(ilosc > wzor.ilosc){for(int i=0; i<wzor.ilosc; i++)tab[i] = wzor.tab[i] + tab[i];    } elseif(ilosc < wzor.ilosc){double* tmp = new double[wzor.ilosc];for(int i=0; i<ilosc; i++)tmp[i] = wzor.tab[i]+tab[i];for(int i=ilosc; i<wzor.ilosc; i++)tmp[i] = wzor.tab[i];         tab = tmp;ilosc = wzor.ilosc;   }}ABC ABC :: operator--(int){ABC tmp(ilosc);for(int i=0; i<ilosc; i++)tmp.tab[i] = tab[i]-1;return tmp;     }ABC operator+(const float w, ABC& obj){ABC tmp(obj.ilosc);for(int i=0; i<obj.ilosc; i++)tmp.tab[i] = obj.tab[i]+w;return tmp;}ABC& ABC :: operator=(const ABC& wzor){delete [] tab;tab = new double[wzor.ilosc];for(int i = 0; i< wzor.ilosc; i++)tab[i] = wzor.tab[i];ilosc = wzor.ilosc;return *this;   }void ABC :: wypisz(){cout<<"ILOSC ELEM: "<<ilosc<<endl;for(int i = 0; i<ilosc; i++)cout<<tab[i]<<" ";cout<<endl;          }void ABC :: zapelnij(double x){for(int i = 0; i<ilosc; i++)tab[i] = x;   }int main(int argc, char *argv[]){    ABC ob1, ob2(30);    ob1.wypisz();    ob2.wypisz();    ABC ob3(ob2);    ob3.wypisz();    ob1.zapelnij(5);    ob2.zapelnij(2);     ob1.wypisz();    ob2.wypisz();    ob1+=ob2;    ob1.wypisz();    ob2 = 1.0f + ob3;    ob2.wypisz();    ob3 = ob1--;    ob3.wypisz();        system("PAUSE");    return EXIT_SUCCESS;}