typedef struct rgb_str
{
unsigned char r_color;
unsigned char g_color;
unsigned char b_color;
rgb_str& operator +(const rgb_str &a)
{
this->r_color=r_color+a.r_color;
this->g_color=g_color+a.g_color;
this->b_color=b_color+a.b_color;
return *this;
}
}
int main()
{
rgb_str mean[3];
mean[2]=mean[0]+mean[1];
}
//在这里,mean[0]和mean[1]相加的时候mean[0]中的值会改变,这不是我所希望的。但是呢 如果在操作符定义中为(const rgb_str &a,const rgb_str &b)加入两个参数时,又会提示must be declared with one parameter.
所以有没有什么办法既可以实现加法运算,又不会让mean[0]中的值改变?? |