下列为复数类complex(complex的类声明参考课程)设计加运算,能完成3个complex对象的求和,如: complex a(3,4),b(2,4),c; 可行的设想有: A. 为complex设计类内成员函数add ,实现为: complex complex::add(const complex&a, const complex&b){ complex result(a); result.real+=a.real+b.real; result.image+=a.image+b.image; return result; } 使用形式: a.add(b,c); B. 为complex 设计类内成员operator+ ,实现为: complex complex::operator+(const complex&a, const complex&b){ complex result(a); result.real+=a.real+b.real; result.image+=a.image+b.image; return result; } 使用形式: a+b+c; C. 为complex设计类外函数operator+, 并在complex中添加该函数的声明,函数实现为: complex operator+(complex a, complex b){ complex result(a.real+b.real, a.image+b.image); return result; } 使用形式: a+b+c; D. 为complex设计类外函数add, 并在complex中添加该函数的声明,函数实现为: complex add(const complex& a,const complex& b,const complex& c){ complex result(a); result.real+=b.real+c.real; result.image+=b.image+c.image; return result; } 使用形式: add(a,b,c);