[ azzpoz @ 13.11.2013. 16:50 ] @
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; } 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..." |