本人初学c++,求三道题目答案?

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:34:22
1.(1)定义一个复数类,描述一些必须的成员函数,如:构造函数,析构函数,赋值函数,返回数据成员值的函数等。
(2)定义运算符重载函数,、通过重载运算符:+,-,*,/,直接实现二个复数之间的加减乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“+”,“*”用友元函数实现

重载,除法“-”,“/”用成员函数实现重载,参数是复数或实数。
(3)通过重载运算符:>>,<<,=,直接实现复数的输入、输出及赋值运算,通过重载运算符:= =,!=直接实现复数的比较运算,编写一个完整的程序,测试重载运算符的正确性。

2.利用虚函数实现的多态性来求四种几何图形的面积之和。这四种几何图形是:三角形、矩形、正方形和圆。几何图形的类型可以通过构造函数或通过成员函数来设置。

3.定义一个长方形类, 并且在程序中创建一个该类的对象, 体现出构造函数、析构函数的调用、执行过程和重载构造函数的使用。

(1)
class Complex
{
private:
double real; //实数部分
double image; //虚数部分
public:
Complex(double r,double i):real(r),image(i){}
~Complex(){}
void SetData(double r,double i);
double GetData(Complex &c);
};
void Complex::SetData(double r,double i)
{
real=r;
image=i;
}
double Complex::GetData(Complex &c)
{
return (real+c.real,image+c.image);
}
(2)
#include<iostream>
using namespace std;
class Complex
{
private:
double real;
double image;
public:
Complex(){real=0;image=0;}
Complex(double r,double i):real(r),image(i){}
~Complex(){}

friend Complex operator + (Complex & c1,Complex & c2);
friend Complex operator * (Complex & c1,Complex & c2);
Complex operator - (Complex &c);
Complex operator / (Complex *c);
void SetData(double r,double i);
void display();