帮朋友做的一笔试(友元 运算符重载)

xiaoxiao2025-02-12  7

#include "stdafx.h" #include <string.h> /* 题目: 根据下列的类的定义,写出加法,乘法二元操作符的友元函数, 而且每一个函数都应返回complex。 并写入一个main函数来测试3+5i和6+2i的加和乘操作。 */ #include<iostream.h> class complex{ double real,image; public: complex(double r) { real=r; image=0; } void assign(double r,double i) { real=r;image=i; } void print(){cout<<real<<"+"<<image<<"i"<<endl;} friend complex operator + (const complex &x,const complex &y) { complex temp(0); temp.real= x.real + y.real; temp.image= x.image + y.image; return temp; } friend complex operator * (const complex &x,const complex &y) { complex temp(0); temp.real=x.real * y.real; temp.image=x.image*y.image; return temp; } }; int main(int argc, char* argv[]) { complex ob1(3),ob2(6),ob3(0),ob4(0); ob1.assign(3,5); ob2.assign(6,2); cout<<"************************************"<<endl; ob1.print(); ob2.print(); cout<<"************************************"<<endl; //ob2=a+ob1; //整型变量a与类complex对象ob1相加 cout<<"(3+5i)+ (6+2i)= "; ob3=ob1+ob2; ob3.print(); cout<<"************************************"<<endl; cout<<"(3+5i)*(6+2i)= "; ob4=ob1*ob2; //整型变量a与类complex对象ob1相乘 ob4.print(); }  

注:关于构造函数是笔试中就是那样写的,主要是实现友元 运算符重载的那两个函数。

转载请注明原文地址: https://www.6miu.com/read-5024602.html

最新回复(0)