Code:
#include <iostream>
using namespace std;
class tacka
{
public:
int x, y, z;
tacka(int _x=0, int _y=0, int _z=0)
{
x = _x;
y = _y;
z = _z;
}
tacka(tacka & original)
{
x = original.x;
y = original.y;
z = original.z;
}
friend tacka operator+ (tacka, tacka);
void info(){cout<<" "<<x<<" "<<y<<" "<<z<<endl; }
};
tacka operator+(tacka lijevi, tacka desni)
{
int x = lijevi.x + desni.x;
int y = lijevi.y + desni.y;
int z = lijevi.z + desni.z;
tacka tmp(x, y, z);
return tmp;
}
int main()
{
tacka a(1,1,1);
tacka b(2,2,2);
tacka c = a+b; // zasto ne moze ovako
c.info();
system("pause>0"); return 0;
}
#include <iostream>
using namespace std;
class tacka
{
public:
int x, y, z;
tacka(int _x=0, int _y=0, int _z=0)
{
x = _x;
y = _y;
z = _z;
}
tacka(tacka & original)
{
x = original.x;
y = original.y;
z = original.z;
}
friend tacka operator+ (tacka, tacka);
void info(){cout<<" "<<x<<" "<<y<<" "<<z<<endl; }
};
tacka operator+(tacka lijevi, tacka desni)
{
int x = lijevi.x + desni.x;
int y = lijevi.y + desni.y;
int z = lijevi.z + desni.z;
tacka tmp(x, y, z);
return tmp;
}
int main()
{
tacka a(1,1,1);
tacka b(2,2,2);
tacka c = a+b; // zasto ne moze ovako
c.info();
system("pause>0"); return 0;
}
Program će raditi BEZ "konstruktora kopije" koji sam sam definisao!!!
Koliko kapiram' izvrši se a+b, vrati se tmp iz funkcije za preklapanje operatora, i nakon toga se pozove konstruktor kopije(tmp)," koliko sam razumio, ali ne ide..."