关于#c++#的问题:类pic有三个私有数据成员x(int),y(int),z(double),用此类描述两个对象A和B。程序中需要重载”+”完成运算符A+B

类pic有三个私有数据成员x(int),y(int),z(double),用此类描述两个对象A和B。程序中需要重载”+”完成运算符A+B。
要求:
(1)A+B相加后x为两个对象x值相乘,y为两个对象y值相加的1/2,z为两个对象z值zz。
(2)重载”+”写成成员函数,在类里声明类外定义,声明如下
pic pic::operator +(const pic &pict);
(3)定义带参数的构造函数,两个对象实参分别为(2,20,3),和(6,40,2)。

z为两个对象z值zz
==这是啥意思?
另外相加后的值是否要修改当前类的x,y,z值,还是只是作为返回的pic对象值
参考:

class pic
{
private:
    int x,y;
    double z;
public:
    pic() {}
    pic(int a,int b,double c) : x(a),y(b),z(c) {}
    pic operator+ (const pic&pict);
    void printData() {cout<<"x="<<x<<",y="<<y<<",z="<<z<<endl;}
};

pic pic::operator+(const pic & pict)
{
    pic c;
    c.x = x * pict.x;
    c.y = (y+pict.y)/2;
    c.z = z + pict.z;
    return c;
}
int main()
{
    pic A(2,20,3);
    pic B(6,40,2);
    pic c = A+B;
    c.printData();
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632