Mam przeprowadzic badanie przeciazonego operatora + i porównac kilka przypadków.
Kod programu:
#include <iostream.h>
#include <conio.h>
#include <time.h>
class l_zes {
int re, im ;
public:
friend l_zes operator+ (l_zes &a , l_zes&b);
l_zes(int i=0, int j=0):re(i), im (j){}
l_zes(const l_zes & z): re(z.re), im (z.im){}
l_zes & operator = (const l_zes & z)
{
return *this;
}
~l_zes(){}
};
//1 przyklad czas = 63
<quote>l_zes operator+ (l_zes &a , l_zes&b)
{ l_zes lok;
lok.re = a.re + b.re;
lok.im = a.im + b.im;
return lok;
}</quote>
int main(int argc, char* argv[])
{
clrscr();
l_zes A(0,0), B(1,1), Z(2,2);
__int64 a,b;
a=clock();
for(int i=0;i<1000000;i++) Z=A+B;
b=clock();
cout<<endl<<"czas = "<<b-a;
getchar();
return 0;
}
//2 przyklad czas = 32
l_zes operator+ (l_zes &a , l_zes&b)
{
return l_zes(a.re + b.re,a.im + b.im);
}
Prosze o podpowiedz, jak jeszcze mozna rozpisac operator + (niewazne jest jego szybkosc).