- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通信工程专业面向对象程设计要求与指导
2012级《面向对象课程设计》要求与指导
专业:通信工程
指导教师:任世卿,刘洋,马玉峰,李晓静
一、课程设计的目的
面向对象课程设计是通信工程专业非常重要的实践性环节之一,是学完面向对象程序设计课程后的一次全面的综合练习。本课程设计主要在于巩固学生对面向对象程序设计的基础理论的理解,掌握面向对象程序设计开发的基本方法,进一步提高学生综合运用所学知识的能力。
二、课程设计的要求及内容
(一)课程设计的基本要求
以Microsoft Visual C++ 6.0作为集成开发环境,完成面向对象课程设计。要求每人完成一个题目,题目由指导教师指派,学生与题目之间一一对应(即两个学生的题目不能重复),学生进行程序分析、设计、编程与调试、功能测试,并最终完成课程设计报告。其中每个题目必须采用类与对象进行编程,每个题目的程序必须用两种工程实现,一种是Win32 Console Application,输入输出采用传统DOS的字符式交互界面;另一种是MFC AppWizard(exe),输入输出采用基于Windows的图形式交互界面。
(二)各题目具体要求
1.分数类的设计与实现
建立用于完成分数形式运算的类RationalNumber。编写一个测试该类的程序。用整数变量表示类的私有数据(即分子和分母)。给类提供一个能够对所声明的对象初始化的构造函数。为了能够在不提供初始化值的情况下也能对对象初始化,构造函数中应该包含默认的值。构造函数还应该以最简分数的形式存储数据,即2/4应该在对象中存储成分子为1、分母为2的形式。公有成员函数应该有以下功能:
两个有理数相加,以最简形式保存结果;
两个有理数相减,以最简形式保存结果;
两个有理数相乘,以最简形式保存结果;
两个有理数相除,以最简形式保存结果;
以a/b的形式输出有理数(a是分子,b是分母);
以浮点形式输出有理数。
2.一维数组类模板的设计与实现
建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char, int, float等多种数据类型,类中的成员函数主要包括:
排序函数,能够对数组元素进行升序排列;
查找函数,能够在输入待查元素后,输出其在数组中的下标;
构造函数,初始化输入数组元素,这里要求数组元素的个数n是一个变量;
析构函数,释放数组元素所占用的堆内存;
Set函数,可以为指定的数组元素赋值;
Get函数,可以读取指定数组元素的值;
Print函数,可以输出数组元素的值。
编写一个测试该模板类的程序。
3.向量类的设计与实现
编写一个实现n维向量各种操作的类,功能包括:
构造函数实现n维向量的初始化构造,这里n可变;
析构函数实现向量动态内存的释放;
拷贝构造函数实现向量的拷贝构造;
重载赋值运算符‘=’,实现两个向量之间的赋值;
编写成员函数求两个向量的内积;
编写成员函数求两个向量的外积;
编写成员函数求两个向量的和;
编写成员函数求两个向量的差;
编写成员函数判断两个向量之间的线性相关性。
编写一个主函数测试多项式类的上述功能。
4.多项式类的设计与实现
开发多项式类Polynomial,多项式的每一项用链表的结点表示,每项包含一个系数和一个指数。例如:2x4的指数为4,系数为2。请开发一个完整的Polynomial类,包括构造函数、析构函数以及“get”函数(读取值)和“set”函数(设置值)。该类还要提供以下重载的运算符:
重载加法运算符+,将两个多项式相加。
重载加法运算符-,将两个多项式相减。
重载赋值运算符=,将一个多项式赋给另外一个多项式。
重载加法运算符*,将两个多项式相乘。
编写一个主函数测试多项式类的上述功能。
5.基于成员函数的方阵类设计与实现
设计一个能够实现n×n矩阵操作的类,这里的n可变,主要功能包括:
使用构造函数完成方阵的初始化赋值;
使用析构函数完成矩阵动态内存的释放;
使用函数实现两个矩阵的和;
使用函数实现两个矩阵的差;
使用函数实现两个矩阵的积;
使用函数实现矩阵的转置;
使用函数求矩阵中的最大值;
使用函数求矩阵中的最小值。
编写一个主函数测试上述功能。
6.基于运算符重载的方阵类设计与实现
设计一个能够实现n×n矩阵操作的类,这里的n可变,主要功能包括:
使用构造函数完成方阵的初始化赋值;
使用析构函数完成矩阵动态内存的释放;
重载加法运算符+,实现两个矩阵的和;
重载加法运算符-,实现两个矩阵的差;
重载加法运算符*,实现两个矩阵的积;
重载加法运算符=,实现两个矩阵之间的赋值;
使用拷贝构造函数完成方阵的拷贝构造;
重载加法运算符,实现矩阵按照行列的格式输出;
编写一个主函数测试上述功能。
7.复数类的设计与实现
设计一个复数类,复数类的数据成员是real和imag,它们的数据类型是double,分别表示复数的实部和
文档评论(0)