- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
成绩评定表
学生姓名
李勇强
班级学号
1103060215
专业
通信工程
课程设计题目
复数类的设计与实现
评
语
组长签字:
成绩
日期
20年月日
课程设计任务书
学院
信息科学与工程学院
专业
通信工程
学生姓名
李勇强
班级学号
1103060215
课程设计题目
复数类的设计与实现
实践教学要求与任务
设计一个复数类,复数类的数据成员是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++语言来完成复数类的设计与实现。首先设计了复数类,在类中定义了复数的实部和虚部,然后在类中设计构造函数和析构函数用于对象的初始化和清理,类中的重载运算符函数用于实现对复数的一些基本运算和输入输出。程序分别采用VisualC++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.1MFC程序界面设计 9
5.1.2MFC程序代码设计 12
5.2基于MFC的应用程序测试 15
结论 19
参考文献 20TOC\o1-3\h\z\u
PAGE
20-
1需求分析
(1)构造函数可以用于给对象赋初值;析构函数可以用于对象的生命期结束时,做一些清理工作;拷贝构造函数可以用于复制对象。
(2)类中重载运算符“+”、“-”、“*”、“/”的函数,可以依据复数的四则运算法则设计函数内部代码。
(3)复数的相反数为复数的实部与虚部分别取相反数。
(4)整个程序可以通过构建复数类,类中定义数据成员(复数的实部、虚部),设计方法,实现复数类对象的构造、析构,复数的加减乘除、取相反数的运算。并通过重载流提取运算符和流插入运算符,来进行复数的输入和输出。
(5)要求类的声明与实现相分离,可以将其保存在不同的文件中,并在类的实现文件中包含类的声明头文件。
算法基本原理
(1)构造函数是一种特殊的成员函数,在建立对象时自动执行。其名字与类名同名,不具有任何类型,不返回任何值。构造函数中参数的值可以指定为默认值。拷贝构造函数只有一个参数,这个参数是本类的对象(一般约定加const声明)。
(2)析构函数也是一个特殊的成员函数,其名字是类名前加一个“~”符号。构造函数不返回任何值,无函数类型和函数参数。当对象的生命期结束时,自动执行析构函数。
(3)运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载
您可能关注的文档
- ai写作开题报告.docx
- C#程序设计语言概述.ppt
- C#程序设计综合练习.pdf
- C#创建数据库应用程序.ppt
- C#课程设计备选题目.doc
- C#实现CAD数据转shape或mdb(转).pdf
- C#语言程序设计基础.ppt
- C#制作自定义安装程序.pdf
- c#自动更新+安装程序的制作.doc
- c++常用数据结构和算法.doc
- GB/T 12959-2024水泥水化热测定方法.pdf
- GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性.pdf
- 中国国家标准 GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性.pdf
- 《GB/T 43856-2024印刷技术 印刷工作流程的颜色一致性》.pdf
- 中国国家标准 GB/Z 42151.77-2024电力自动化通信网络和系统 第7-7部分:用于工具的IEC 61850相关数据模型机器可处理格式.pdf
- 中国国家标准 GB/T 43930-2024宇航用电磁继电器通用规范.pdf
- 《GB/T 43930-2024宇航用电磁继电器通用规范》.pdf
- 中国国家标准 GB/T 32151.7-2023碳排放核算与报告要求 第7部分:平板玻璃生产企业.pdf
- 《GB/T 32151.7-2023碳排放核算与报告要求 第7部分:平板玻璃生产企业》.pdf
- GB/T 32151.8-2023碳排放核算与报告要求 第8部分:水泥生产企业.pdf
文档评论(0)