Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Przeciążanie operatorów i konstruktory.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <conio.h>
- class DynArray
- {
- private :
- int *tablica;
- int size;
- public :
- DynArray()
- {
- tablica = new int[0];
- size = 0;
- }
- DynArray(int n, int m)
- {
- tablica = new int[n];
- size = n;
- for (int i = 0; i <= n; i++)
- {
- tablica[i] = m;
- }
- }
- int Size() const
- {
- return size;
- }
- DynArray::DynArray(const DynArray & D);
- void Display() const
- {
- printf("[");
- {
- for (int i = 0; i < size; i++)
- {
- printf("%d", tablica[i]);
- if (i != size - 1) printf(", ");
- }
- }
- printf("]");
- }
- ~DynArray();
- void operator!()
- {
- int a;
- for (int i = 0; i <= this->Size(); i++)
- {
- a = ((this->tablica[i])*(-1));
- this->tablica[i] = a;
- }
- }
- DynArray operator +=(int value)
- {
- int * bufor = new int[size];
- for (int i = 0; i < (size); i++)
- {
- bufor[i] = tablica[i];
- }
- size++;
- tablica = new int[size];
- for (int i = 0; i < size; i++)
- {
- tablica[i] = bufor[i];
- }
- tablica[size - 1] = value;
- delete[] bufor;
- return *this;
- }
- };
- DynArray::DynArray(const DynArray & D)
- {
- size = D.size;
- tablica = new int[size];
- for (int i = 0; i<size; i++)
- {
- tablica[i] = D.tablica[i];
- }
- }
- DynArray::~DynArray()
- {
- delete[] tablica;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- DynArray arr1;
- DynArray arr2(5, 2);
- printf("arr1 {%2d} = ", arr1.Size());
- arr1.Display();
- printf("\narr2 {%2d} = ", arr2.Size());
- arr2.Display();
- DynArray arr3 = arr2;
- arr3 += -10;
- arr3 += -20;
- arr3 += -30;
- printf("\narr3 {%2d} =", arr3.Size());
- arr3.Display();
- !arr3;
- printf("\n!arr3 {%2d} = ", arr3.Size());
- arr3.Display();
- printf("\nKoniec.");
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement