- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c++课程设计题目.doc
提示:1、可以增加或减少函数。
1、字符串String 类的实现。自定义一个String 类用来存储字符串,串中的字符存放在动态分配的数组中,该类拥有至少但不限于以下成员函数:
构造函数:为对象分配动态存储空间,完成初始化,要考虑多种参数的重载形式,例如
无参数、参数类型为char 或char*;
析构函数:将占用的动态存储空间释放;
拷贝构造函数:实现String 对象之间的深拷贝构造;
IsSubstring 函数:判断参数是否为当前串的子串,参数可以为char*或String 类型;
Str2Num 函数:将数字字符串转成数值;
UpperStr 函数:将字符串中的小写字母均转为大写字母;
ReplaceStr 函数:替换String 中的某个字符串;
ReplaceChar 函数:替换String 中的某个字符;
DelStr 函数:删除String 中的某个字符串;
DelChar 函数:删除String 中的某个字符;
重载了以下运算符:
= 运算符:实现String 对象之间的深拷贝赋值;
+ 运算符:将两个String 对象首尾相连;
[] 运算符:访问String 对象中某个下标位置的字符;
运算符:输出String 对象;
自行设计类中的数据成员和其它内容,并编写测试代码使用该Sting 类。
2、集合Set类的实现。定义一个元素类型为char、元素个数不限的集合类Set,集合中的元素存放在动态分配的存储空间中,它拥有至少但不限于以下成员函数:
构造函数:为对象分配动态存储空间,输入数据,完成初始化;
析构函数:将占用的动态存储空间释放;
拷贝构造函数:实现Set 对象之间的深拷贝构造;
IsEmpty 函数:判断集合是否为空;
Size 函数:返回集合中元素个数;
IsElement 函数:判断某字符是否属于该集合;
重载了以下运算符:
| 运算符:求两个集合的并集;
运算符:求两个集合的交集;
= 运算符:实现Set 对象之间的深拷贝赋值;
- 运算符:求两个集合的差集;
== 运算符:判断两个集合是否相等;
+= 运算符:增加元素;
-= 运算符:删除元素;
= 运算符:判断某集合是否为当前集合的子集;
运算符:输出Set 对象;
自行设计类中的数据成员和其它内容,并编写测试代码使用该Set 类。
3、分数Fraction类的实现。建立一个分数类Fraction,其拥有int 类型的私有数据成员denominator(分母)和numerator(分子),另外还拥有至少但不限于以下成员函数:
构造函数:为参数指定默认值,初始化分数,防止分母为0,并以最简分数形式存储数
据;
拷贝构造函数:用一个分数对象初始化新建分数对象;
输出函数print():以浮点形式输出分数;
同时为该类重载了以下运算符:
+ 运算符:两个分数相加,以最简分数形式保存结果;
- 运算符数:两个分数相加,以最简分数形式保存结果;
* 运算符:两个分数相加,以最简分数形式保存结果;
/ 运算符:两个分数相加,以最简分数形式保存结果;
关系运算符:比较两个分数的大小关系及是否相等;
运算符:以a/b 的形式输出分数;
类中的其它部分自行设计,编写测试代码使用该分数类。
4、矩阵Matrix 类的实现。建立一个Matrix 类用来表示m 行×n 列的矩阵,它有至少但不限于以下成员函数:
构造函数:根据参数值创建一个矩阵,并为矩阵元素动态分配存储空间,同时完成数据输入;
析构函数:将矩阵占用的动态存储区释放;
拷贝构造函数:实现矩阵对象之间的深拷贝构造;
= 运算符重载函数:实现矩阵对象之间的深拷贝赋值;
transpose 函数:实现矩阵的转置;
另外重载 + 和 * 运算符,实现矩阵的加法和乘法;
自行设计类中的数据成员和其他内容,同时编写测试代码使用Matrix 类。
5、整型相量IVector类的实现。建立一个IVector类用来存放整型数组,数组存放在动态分配的存储空间。该类拥有至少但不限于以下成员函数:
构造函数:为对象分配动态存储空间,完成初始化,要考虑多种参数的重载形式,例如
无参数、参数类型为int;
析构函数:将占用的动态存储空间释放;
拷贝构造函数:实现对象之间的深拷贝构造;
at 函数:返回第i个元素,类似C数组,索引从0开始;
front 函数:返回首元素;
back 函数:返回尾元素;
size 函数:返回数组的大小,即元素个数;
sort 函数:将数组元素按值大小进行升排序;
pop_back 函数:增加一个数据到末尾;
push_back 函数:删除末尾的一个数据;
重载了以下运算符:
= 运算符:实现IVector对象之间的深拷贝赋值;
+ 运算符:将两个IVector对象首尾相连;
[] 运算符:
文档评论(0)