Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template<class T>
- class Array{
- private:
- T* wsk;
- int dlugosc;
- public:
- Array();
- ~Array<T>();
- void dodaj(T& t);
- bool usun(int i);
- void wypisz();
- Array<T>& operator=(Array<T>&);
- };
- template<class T>
- Array<T>::Array() {
- wsk=0;
- dlugosc=0;
- }
- template<class T>
- void Array<T>::dodaj(T& t) {
- T* tmp=new T[dlugosc+1];
- for(int i=0; i<dlugosc; ++i){
- tmp[i]=wsk[i];
- }
- delete[] wsk;
- wsk=tmp;
- wsk[dlugosc++]=t;
- }
- template<class T>
- bool Array<T>::usun(int i){
- if(i<0 || i>=dlugosc){
- return false;
- }
- else{
- int gdzie_wstawic=0;
- T* tmp=new T [dlugosc-1];
- for(int m=0; m<dlugosc; m++){
- if(m==i) continue;
- else{
- tmp[gdzie_wstawic]=wsk[m];
- gdzie_wstawic++;
- }
- }
- delete[] wsk;
- wsk=tmp;
- dlugosc--;
- return true;
- }
- }
- template<class T>
- Array<T>::~Array() {
- delete[] wsk;
- wsk=0;
- }
- template<class T>
- void Array<T>::wypisz(){
- for(int i=0; i<dlugosc; i++){
- std::cout<<wsk[i]<<std::endl;
- }
- }
- template<class T>
- Array<T>& Array<T>::operator=(Array<T>& copy) {
- if(copy.wsk!=this->wsk){
- delete[] wsk;
- wsk=new T[copy.dlugosc];
- dlugosc=copy.dlugosc;
- for(int i=0; i<dlugosc; ++i){
- wsk[i]=copy.wsk[i];
- }
- }
- return (*this);
- }
- int main(){
- Array<int> lista;
- int i=5;
- int p=10;
- lista.dodaj(i);
- lista.dodaj(p);
- lista.wypisz();
- lista.usun(0);
- lista.wypisz();
- Array<int> lista2;
- lista2=lista;
- lista2.wypisz();
- return 0;
- }
Add Comment
Please, Sign In to add comment