class comlpex{
private:
double epart;
double ipart;
public :
complex()
{
rpart+ipart+0.0; //缺省构造函数
}
complex(double rp,double ip)
{
rpart=rp;
ipart=ip;
}
complex add(const complex&com)
{
complex temp;
temp.rpart=com.rpart+rpart;
temp.ipart=com.ipart+ipart;
return temp;
}
};
现在,就可以用它来进行两复数的加法运算了:
complex a(10,7),b(3,5);
complex c=a.add(b);//能解释下是如何调用的吗,为什么要用一个temp变量呢.直接rpart=rpart+com.rpart;ipart=ipart+com.ipart
complex operator+(const complex&com)
{
complex temp(rpart+com.rpart,ipart+com.ipart);
return temp;
}
这个函数与上面那个add函数相比感觉没什么区别啊,那为什么一般看到的是这种定义形式呢?还有complex temp(rpart+com.rpart,ipart+com.ipart);用了什么呢,感觉有点看不太懂啊
private:
double epart;
double ipart;
public :
complex()
{
rpart+ipart+0.0; //缺省构造函数
}
complex(double rp,double ip)
{
rpart=rp;
ipart=ip;
}
complex add(const complex&com)
{
complex temp;
temp.rpart=com.rpart+rpart;
temp.ipart=com.ipart+ipart;
return temp;
}
};
现在,就可以用它来进行两复数的加法运算了:
complex a(10,7),b(3,5);
complex c=a.add(b);//能解释下是如何调用的吗,为什么要用一个temp变量呢.直接rpart=rpart+com.rpart;ipart=ipart+com.ipart
complex operator+(const complex&com)
{
complex temp(rpart+com.rpart,ipart+com.ipart);
return temp;
}
这个函数与上面那个add函数相比感觉没什么区别啊,那为什么一般看到的是这种定义形式呢?还有complex temp(rpart+com.rpart,ipart+com.ipart);用了什么呢,感觉有点看不太懂啊