实 验 一
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2,i+c1 ,c1+i均合法(设i为整数,c1,c2位复数)。编程序,分别求两个复数之和、整数和复数之和
程序代码
#include<iostream>
using namespace std;
class Complex{
public:
Complex(){
real=0;
imag=0;
}
Complex(double r,double i){
real=r;
imag=i;
}
friend Complex operator+(Complex &c1,Complex &c2);
friend Complex operator+(Complex &c1,double d);
friend Complex operator+(double d,Complex &c1);
void display();
private:
double real;
double imag;
};
Complex operator+(Complex &c1,Complex &c2){
return Complex(c1.real+c2.real,c1.imag+c2.imag);
}
Complex operator+(Complex &c1,double d){
return Complex(c1.real+d,c1.imag);
}
Complex operator+(double d,Complex &c1){
return Complex(c1.real+d,c1.imag);
}
void Complex::display() {
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main(){
}
实验二
定义一个点类point, 重载运算符“+”,使之能计算点类的距离运算,编程求两点之间的距离。(例如:定义点a(1,2)和 点b(3,4), 当使用“+“”运算时, double c=a+b, 则c为a和b两点之间的距离√8)
注意:开平方可以用sqrt()函数,用此函数需包含头文件#include <math.h>
pow函数可用求次方运算,如 pow(10,2)表示10的2次方(即平方)。
程序代码: