- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C操作符重载编程练习
实验报告
姓名:名称:一、目的
二、三、using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
Complex x = new Complex(1, 2);
x.DispCom();
Complex y = new Complex(3, 4);
y.DispCom();
Complex z = new Complex(0, 0);
double w;
z = x + y;
System.Console.WriteLine(两复数相加后的结果为:);
z.DispCom();
z = x - y;
System.Console.WriteLine(两复数相减后的结果为:);
z.DispCom();
w = x * y;
System.Console.WriteLine(两复数点乘后的结果为:{0},w);
}
}
class Complex
{
double a,b;
public Complex(double m, double n)//构造函数
{
a = m;
b = n;
}
public static Complex operator +(Complex x, Complex y)//重载“+”运算符使之能够对两个复数进行加运算
{
Complex t = new Complex(0, 0);
t.a = x.a + y.a;
t.b = x.b + y.b;
return (t);
}
public static Complex operator -(Complex x, Complex y)
{
Complex t = new Complex(0, 0);
t.a = x.a -y.a;
t.b = x.b - y.b;
return (t);
}
public static Double operator *(Complex x, Complex y)
{
Double t;
t = x.a * y.a - x.b * y.b;
return (t);
}
public void DispCom()// 显示复数的值
{
if (b 0)
Console.WriteLine({0}+{1}i, a, b);
else
Console.WriteLine({0}{1}i, a, b);
}
}
}
2.分数类:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
Fraction x, y, z;
x = new Fraction(4, 3);
System.Console.WriteLine(第一个分数为:{0}/{1}, x.b, x.a);
y = new Fraction(6, 1);
System.Console.WriteLine(第二个分数为:{0}/{1}, y.b, y.a);
z = new Fraction(1, 1);
z = z.Reduce(x, y);
System.Console.WriteLine(两分数相加后结果为:{0}/{1}, z.b, z.a);
}
}
class Fraction
{
public int a, b;
public Fraction(int a, int b)
{
this.a = a;
this.b = b;
}
public Fraction Reduce(Fraction x, Fraction y)
{
Fraction z;
z = new Fraction(1, 1);
z.a = x.a * y.a;
z.b = x.b * y.a + y.b * x.a;
int i;
for (i = 2; i = z.a;i++ )
{
if (z.a % i == 0 z.b % i == 0)
{
z.a = z.a / i;
z.b = z.b / i;
}
}
return z;
}
}
}
四、实验调试过程及运行结果
1.复数类:
2.分数类:
五、实验总结:对上机结果进行分析,问题回答,上机的心得体会及改进意见。
文档评论(0)