- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《面向对象程序设计》过程考试试题第三次
PAGE
PAGE 1
———————————————————————————————— 作者:
———————————————————————————————— 日期:
四川师范大学计算机科学学院《面向对象程序设计》过程考核试题
PAGE
PAGE 5
《面向对象程序设计》过程考核大纲
第三单元 运算符重载 多态 模板
考核目标
主要考察类、对象、友元、运算符重载、多态、模板、文件等概念和使用方法,通过考试,使学生掌握类和对象的概念和设计方法;掌握运算符重载作用和语法。掌握类的继承和多态的作用,掌握模板的语法和作用,掌握对文件的基本操作。
二、考核内容
1.运算符重载的实现。
2.模板函数的实现。
3.多态的实现。
4.对文件的基本操作。
三、考试要求
1.不允许携带U盘和教材等进入考场。
2.考试过程中保持安静,独立按要求完成考试题目。
3.考试结束后,请坐在座位上,等待监考老师确认你的考题之后方可签字离开。
4.在桌面上新建一个文件夹,以“学号+姓名”形式命名,如三。
该文件夹中应该包含两个子文件夹(文件夹名分别为:第一题 第二题),分别存放两道题的相关工程文件以及测试结果等。
《面向对象程序设计》第一次过程考核A卷
(学号尾号为单数的学生完成A卷)
(60分)
已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数
(3)以类的成员函数方式重载+运算符和*运算符
(4)以友元函数方式重载运算符
(5)使得以下主函数正确运行并得到以下结果
int main() {
Complex c1(1, 2);
Complex c2(3, 4);
cout c1 + c2;
cout c1 * c2;
}
输出结果如下:
4+6i
-5+10i
(20分)
定义一个抽象类Shape, 为该类定义虚函数getArea(), 从Shape分别派生出圆形Circle和正方形Squre,在这两个类中实现getArea()函数,使得以下主函数的代码可以正确运行并得到如下的结果。
int main() {
Circle c(1); // 用1初始化圆形的半径
Squre s(1); // 用1初始化正方形的边长
Shape * p[2] = {c,s};
for(int i=0;i2;i++){
coutp[i]-getArea()endl;
}
}
输出结果如下:
3.14
1
3. (20分)
定义一个学生类,有学号和成绩数据成员,均为整型数据,为其定义构造函数。定义一个模板函数,该函数的功能是从两个数据中选择较大的数据(参考主函数代码及输出结果),对于学生数据,返回成绩最高的学生。使得以下主函数的代码可以正确运行。同时将成绩最高的学生的信息以文本文件的方式写入名称为stu.txt 的一个文本文件中。
int main(){
int c = myMax(5,6);
coutcendl;
Stu s1(101,90);
Stu s2(102,80);
Stu s3 = myMax(s1,s2);
couts3endl;
// 以下补充将s3的信息写入文本文件的代码
}
运行结果
6
101 90
《面向对象程序设计》第一次过程考核B卷
(学号尾号为双数的学生完成B卷)
(60分)已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数
(3)以类的成员函数方式重载-运算符和*运算符
(4)以友元函数方式重载运算符
(5)使得以下主函数正确运行并得到以下结果
int main() {
Complex c1(1, 2);
Complex c2(3, 4);
cout c1 - c2;
cout c1 * c2;
}
输出结果如下:
-2-2i
-5+10i
(20分)
定义一个抽象类Shape, 为该类定义虚函数getArea(), 从Shape分别派生出圆形Circle和正方形Squre,在这两个类中实现getArea()函数,使得以下主函数的代码可以正确运行并得到如下的结果。
int main()
原创力文档


文档评论(0)