// PR_5_3.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <conio.h>

class prosta {
   public:

   prosta(int,int);
   prosta() 
   {
       std::cout<<"Konstruktor obiektu klasy prosta bez parametrow \n";
       x = new int;
       y = new int;
   } //tu nowy konstruktor


   //konstruktor kopiujący – tu piszemy
   prosta(const prosta& _param)
   {
	   std::cout<<"Konstruktor kopiujacy \n";
	   x=new int(*_param.x);
       y=new int(*_param.y);
   }
   ~prosta();
   int podajX();
   int podajY();
   
   private:
   int* x;
   int* y;
};



prosta::prosta(int a,int b) {
   std::cout<<"Konstruktor obiektu klasy prosta\n";
   x = new int(a);
   y = new int(b);
}

prosta::~prosta() {
   std::cout<<"Destruktor obiektu klasy prosta\n";
   delete x;
   delete y;
}


int prosta::podajX() {
   return *x;
}

int prosta::podajY() {
   return *y;
}


int _tmain(int argc, _TCHAR* argv[])
{
	
         prosta obj1(30,70);
   std::cout<<"Wartosci pol obj1: x="<<obj1.podajX()<<" y="<<obj1.podajY()<<"\n";

    std::cout<<"Wywolanie bezposrednie"<<"\n";
   prosta obj2(obj1);
   std::cout<<"Wartosci pol obj2: x="<<obj1.podajX()<<" y="<<obj1.podajY()<<"\n";

   std::cout<<"Operator ="<<"\n";
   prosta obj3 = obj1;
   std::cout<<"Wartosci pol obj3: x="<<obj1.podajX()<<" y="<<obj1.podajY()<<"\n";

   _getch();

   
   
	return 0;
}

