面向对象------第三次实验

实  验 

定义一个复数类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)表示102次方(即平方)。

程序代码:

猜你喜欢

转载自blog.csdn.net/Helloirbd/article/details/86479984