Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // przeciazaneioperatorow.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <conio.h>
- #include <malloc.h>
- class Wektor
- {
- int N;
- float *tab;
- public:
- Wektor::Wektor ()
- {
- tab = NULL;
- N = 0;
- }
- Wektor::Wektor (const int n, const float M)
- {
- N = n;
- tab = new float [N];
- if (tab !=NULL)
- {
- for (int i=0;i<N;i++)
- {
- tab[i] = M;
- }
- }
- }
- Wektor::Wektor (const Wektor &wek)
- {
- N = 0;
- tab = (float*) malloc (wek.N*sizeof (float));
- if (tab !=NULL)
- {
- N = wek.N;
- for (int i=0;i<N;i++)
- {
- tab[i] = wek.tab[i];
- }
- }
- }
- const int Rozmiar () const
- {
- return N;
- }
- const void Wyswietl() const
- {
- printf ("[");
- for (int i=0; i<N; i++)
- {
- if (i<N-1)
- {
- printf ("%5.2f, ", tab[i]);
- }
- else
- {
- printf ("%5.2f", tab[i]);
- }
- }
- printf ("]");
- }
- Wektor operator += (const float a)
- {
- tab = (float*)realloc (tab, (N+1)*sizeof(float));
- if (tab!=NULL)
- {
- tab[N] = a;
- }
- N++;
- return *this;
- }
- Wektor operator ~ ()
- {
- for (int i=0, j=N-1; i<=j;i++, j--)
- {
- float x;
- x = tab[i];
- tab[i] = tab[j];
- tab[j] = x;
- // printf ("tab[%d] - %2.2f, tab[%d] - %2.2f\n",i,tab[i],j,tab[j]);
- }
- return *this;
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- Wektor w1;
- Wektor w2 (3, 10.0);
- printf ("w1 {%2d} = ", w1.Rozmiar() );
- w1.Wyswietl();
- printf ("\nw2 {%2d} = ", w2.Rozmiar() );
- w2.Wyswietl();
- Wektor w3 = w2;
- w3 += 1.11;
- w3 += 2.22;
- w3 += 3.33;
- w3 += 4.44;
- w3 += 5.55;
- printf ("\nw3 {%2d} = ", w3.Rozmiar() );
- w3.Wyswietl();
- printf ("\n~w3 = ");
- (~w3).Wyswietl();
- printf ("\nw3 {%2d} = ", w3.Rozmiar() );
- w3.Wyswietl();
- printf ("\nKoniec");
- _getch();
- return 0;
- }