C++声明一个复数类Complex?

c课设报告书复数类的设计与实现


成 绩 评 定 表 学生姓名 李勇强 班级学号 专 业 通信工程 课程设计题目 复数类的设计与实现 评 语 组长签字: 成绩 日期 20 年 月 日 课程设计任务书 学 院 信息科学与工程学院 专 业 通信工程 学生姓名 李勇强 班级学号 课程设计题目 复数类的设计与实现 实践教学要求与任务 设计一个复数类,复数类的数据成员是real和imag,它们的数据类型是double,分别表示复数的实部和虚部,要求如下: (1)编写一个带有缺省参数的构造函数,默认值为(0,0),实现一个复数的构造。 (2)编写一个拷贝构造函数,实现一个复数的拷贝构造。 (3)编写一个析构函数,在函数中输出(real,imag)被析构,例如:如果复数的实部为1,虚部为2,则被析构时程序输出:“(1,2)被析构”。 (4)重载运算符“+”为复数类的成员函数,其功能是返回两个复数的相加的结果。 (5)重载运算符“-”为复数类的成员函数,其功能是返回两个复数的相减的结果。 (6)重载运算符“*”为复数类的友元函数,其功能是返回两个复数的相乘的结果。 (7)重载运算符“/”为复数类的友元函数,其功能是返回两个复数的相除的结果。 (8)重载单目运算符“-”为复数类的友元函数,其功能是返回当前复数的相反数。 (9)重载运算符“>>”为复数类的友元函数,其功能是按照以格式(real,imag)。 (10)输入复数。例如:如果复数的实部为1,虚部为2,则输入的格式是“(1,2)”。 (11)重载运算符“<<”为复数类的友元函数,其功能是按照以格式(real,imag) (12)输出复数。例如:如果复数的实部为1,虚部为2,则输出的结果是“(1,2)”。 (13)以上函数在类的内部写出函数原型,在类的外部写出函数实现代码,最后编写一个主函数main测试以上的函数功能。 工作计划与进度安排 第17周:分析题目,查阅课题相关资料,进行类设计、算法设计; 第18周:程序的设计、调试与实现; 第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。 201 年 月 日 专业负责人: 201 年 月 日 学院教学副院长: 201 年 月 日 摘 要 本文采用了C++语言来完成复数类的设计与实现。首先设计了复数类,在类中定义了复数的实部和虚部,然后在类中设计构造函数和析构函数用于对象的初始化和清理,类中的重载运算符函数用于实现对复数的一些基本运算和输入输出。程序分别采用Visual C++ 6.0的控制台工程和MFC工程来运行。最终,通过对两种程序的测试结果表明:复数类的方法函数设计正确,两种程序均能正确实现复数类方法函数的功能。 关键词:复数;复数类;控制台工程;MFC工程 目 录1 需求分析 1 2 算法基本原理 1 3 类设计 2 4 基于控制台的应用程序 3 4.1 类的接口设计 3 4.2 类的实现 4 4.3 主函数设计 6 4.4 基于控制台的应用程序测试 7 5 基于MFC的应用程序 8 5.1 基于MFC的应用程序设计 9 5.1.1 MFC程序界面设计 9 5.1.2 MFC程序代码设计 12 5.2基于MFC的应用程序测试 15 结 论 19 参考文献 20 1 需求分析 (1)(2)(3) 算法基本原理 (1)构造函数是一种特殊的成员函数,在建立对象时自动执行。其名字与类名同名,不具有任何类型,不返回任何值。构造函数中参数的值可以指定为默认值。拷贝构造函数只有一个参数,这个参数是本类的对象(一般约定加const声明)。 (2)析构函数也是一个特殊的成员函数,其名字是类名前加一个“~”符号。构造函数不返回任何值,无函数类型和函数参数。当对象的生命期结束时,自动执行析构函数。 (3)运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数。 (4)复数的加法法则: 设z1=a+bi,z2=c+di是任意两个复数,则它们的和为(a+bi)+(c+di)=(a+c)+(b+d)i。两个复数的和依然是复数,它的实部是原来两个复数实部的和,它的虚部是原来两个虚部。 (5)复数的减法法则: 设z1=a+bi,z2=c+di是任意两个复数,则它们的差是 (a+bi)-(c+di)=(a-c)+(b-d)i。两个复数的差依然是复数,它的实部是原来两个复数实部的差,它的虚部是原来两个虚部的差。 (6)复数的乘法法则: 设z1=a+bi,z2=c+di是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i。把两个复数相乘,类似两

}

内容简介:蔡国榕 陈水利 陈雪娟 储理才 黄振坤 李青岩 梁宗旗 林应坚 陶胜 魏春金 吴云东 晏卫根 张东晓

}

我要回帖

更多关于 c语言复数运算结构体 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信