C++练习解答求助

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:27:21
根据题目要求,编写程序。
编写程序,定义一个复数类Complex,重载运算符“+”,实现复数的加法运算。要求参加运算的两个运算量可以都是复数类对象,也可以一个是复数类对象,而另一个是double数,它们顺序任意。在主函数中,分别求复数和复数、double数和复数、复数和double数之间的和。

根据题目要求,编写程序。
编写程序,定义一个抽象图形基类Shape,由它派生3个子类:Circle(圆形类)、Rectangle(矩形类)、Triangle(三角形类),在类中用虚函数分别计算图形面积。进而,在类外定义一个普通函数PrintArea,可以用统一的语法调用格式输出以上3类图形的面积。在主函数中,定义3个图形对象,并调用PrintArea函数分别输出3个对象的面积。

根据题目要求,编写程序。
编写程序,定义一个抽象图形基类Shape,由它派生3个子类:Circle(圆形类)、Rectangle(矩形类)、Triangle(三角形类),在类中用虚函数分别计算图形面积。主函数中,每个子类定义一个对象,用基类指针数组,使其元素分别指向这些子类对象,调用虚函数,求3个子类对象的面积之和。
还有下面两题目,请继续帮忙解决,谢谢!

参考下把

/*复数类加减法运算符重载*/
#include <iostream>
using namespace std;
class complex
{
public:
complex(double r=0.0,double i=0.0){real=r;imag=i;}
complex operator + (complex c2);
complex operator - (complex c2);
void display();
private:
double real;
double imag;
};
complex complex::operator +(complex c2)
{
return complex(real+c2.real,imag+c2.imag);
}
complex complex::operator -(complex c2)
{
return complex(real-c2.real,imag-c2.imag );
}
void complex::display()
{
cout<<"("<<real<<","<<imag<<")"<<endl;
}
int main()
{
complex c1(5,4),c2(2,10),c3;
cout<<"c1=";
c1.display();
cout<<"c2=";
c2.display();
c3=c1-c2;
cout<<"c3=c1-c2=";
c3.display();
c3=c1+c2;
cout<<&q