c++期终考试2014-2015(2)-部分答案
更新时间:2024-03-23 18:37:01 阅读量: 综合文库 文档下载
- 期终考试 英文推荐度:
- 相关推荐
浙江工业大学期终考试命题稿
2014 /2015 学年第 二 学期
课程名称 教师份数 命题人 命题总页数 C++程序设计Ⅱ 陈晋音 页
使用班级 学生份数 审核人 每份试卷需用白纸 信息学院 500 张健 大张 命题注意事项:
一、命题稿请用A4纸电脑打印,或用教务处印刷的命题纸,并用黑
墨水书写,保持字迹清晰,页码完整。
二、两份试题必须同等要求,卷面上不要注明A、B字样,由教务处
抽定A、B卷。
三、命题稿必须经学院审核,并在考试前两周交教务处。
1
浙江工业大学2014/2015学年
第二学期试卷
课程 C++程序设计 Ⅱ 姓名___________________________ 班级____________________________ 授课教师 题序 计分
试题一、选择题(每题1分,共20分) 1. 所谓数据封装就是将一组数据和与这组数据有关的操作组装在一起,形成一个实体,这个实体定义成( )。 A A. 类 B. 对象 C. 函数体 D. 数据块 2.假定A是一个类,则执行“A *p=new A[10];”语句时共调用该类构造函数的次数是( )。D A. 1 B. 2 C. 11 D. 10 3.已知定义了类Person,则Person类的复制构造函数声明应定义正确的是( )。B A. void Person(Person& p); B. Person(const Person& p); C. Person Person(Person& p) D. Person(Person p); 4.下列不能作为类的成员的是( )。B A. 自身类对象的指针 B. 自身类对象 C. 自身类对象的引用 D. 另一个类的对象 5.下述静态数据成员的特征中,( )是错误的。B A. 说明静态数据成员时前边要加修饰符static B. 静态数据成员在类内进行初始化 C. 引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符 D. 静态数据成员是所有对象共用的 6.已知类A是类B的友元,类B是类C的友元,则( )。D A.类A一定是类C的友元 B.类C一定是类A的友元 C.类C的成员函数可以访问类B的对象的任何成员 D.类A的成员函数可以访问类B的对象的任何成员 7. 对于常成员函数,下面描述正确的选项是( )。C A. 类的成员函数可以操作常对象 B. 类的成员函数不能操作常对象 C. 只有常成员函数可以操作常对象 D. 在常成员函数中,常对象可以被更新 8.有如下类定义: class MyBASE{
2
一 二 三 四 五 六 七 八 总评
int k; public: void set(int n) {k=n;} int get( ) const {return k;} }; class MyDERIVED: protected MyBASE{ protected; int j; public: void set(int m,int n){MyBASE::set(m);j=n;} int get( ) const{return MyBASE::get( )+j;} }; 则类MyDERIVED中保护成员个数是( )。B A.4 B.3 C.2 9. 有下列代码: 1 class Fred; 2 class Barney { 3 Fred x; 4 Fred *p; 5 }; 6 class Fred { 7 Barney y; 8 }; 有错误的地方是( )。B D.1 A. 第1行: class Fred; B. 第3行: Fred x; C. 第4行: Fred *p; D. 第7行: Barney y; 10. 需要一种逻辑功能一样的函数,而编制这些函数的程序文本完全一样,区别只是数据类型不同。对于这种函数,下面不能用来实现这一功能的选项是( )。 D A.宏函数 B.为各种类型都重载这一函数 C.模板 D.友元函数 11.为正确执行以下程序,则函数定义正确的是( )。B #include
3
void print(T1 arg1, T2 arg2) { cout << \ cout << \} C. void print(int arg1, int arg2) { cout << \ cout << \} D. template
private: void fun1( ) const {cout<<”fun1”;} protected: void fun2( ) const {cout<<”fun2”;} public: void fun3( ) const {cout<<”fun3”;} }; class Derived : protected Base{ public: void fun4( ) const {cout<<”fun4”;} }; int main(){ Derived obj; obj.fun1( ); //① obj.fun2( ); //② obj.fun3( ); //③ obj.fun4( ); //④ } 其中没有语法错误的语句是( )。D A.① B.② C.③ 17. 有如下类定义: class AA{ int a; public: int getRef( ) const {return &a;} //① int getValue( ) const {return a;} //② void set(int n) const{a=n;} //③ friend void show(AA aa) const {cout< int main( ) { long *p , i; p=new long; if(!p) {cout<<”Allocation error\\n”; return 1; } *p=1000; i=(long)p; cout<<”Here is integer at p:”<<*p<<”\\n”; cout<<”Here is i: “<
5
D.④ D.④ 18. 下面程序使用new与delete命令,下面是对这段程序的叙述,其中正确的是( )。C
delete p; return 0; } A. 有错误,编译不能通过 B. 正确,执行结果为:1000 1000 C. 正确,但执行结果的第二个数值不定 D. 正确,执行结果的各个数值均不为1000 19. 要求打开文件test.dat,可读出数据,正确的语句是( )D A. ifstream myFile(“test.dat”, ios::in); B. fstream myFile (“test.dat”, ios::in); C. ifstream myFile; myFile.open(“test.dat”, ios::in); D. 以上都正确 20. read函数的功能是从输入流中读取( A.一个字符 试题二、程序填空题(每空1 分,共20 分)。 1.【程序说明】以下程序能实现求a2+b2+c2 。其中a、b、c 的值由对象的初始化值提供。该程序使用静态成员实现。 运行结果: Number=5 Number=10 Number=15 Result=350 #include
int a; (1) ; //定义静态数据成员sum a=x; 6
} (2) ; void myclass::getnumber(){ } void myclass:: Result() { } (3) ; int main() } (1)______________ (2)_________________ (3)________________ (4)________________ 2.【程序说明】请完成该类的实现。 #include
}; int x,y; class ArrayofPoints { public: ArrayofPoint(int n):numofPoints(n) { (9) ;} (10) Elements(int n) { return array[n];} private: point* array; int numofPoints; }; void main() { ArrayofPoints a(5); a.Elements(0).setX(3); cout<< (11) ; // 输出第一个点的横坐标 } (5)_________________ (6)_________________ (7)________________ (8)________________ (9)_________________ (10)_________________ (11)________________ 3.【程序说明】已知定义了Clock类,请派生一个带“AM”、“PM”的新时钟类NewClock。以下程序输出为:8:23:34 PM #include {Hour=h;Minute=m;Second=s;} class (13) { public: NewClock(); NewClock(Clock c,AMPM ap) (14) {} void ShowTime(){ } (15) ; // (16) ; private: }; int main(){ } (12)_________________ (13)_________________ (14)________________ (15)________________ (16)_________________ 4.【程序说明】文件Test1.txt中有一批非负整数,结尾以“-1”结束,要求将Test1.txt中的非负偶数挑出来,写到文件Test2.txt中。请将下列程序补充完整。 (17) ; #include } } (20) outfile<>b; infile.close(); outfile.close(); return 0; (17)_________________ (18)________________ (19)________________ (20)________________ 答案:(17) include int x,y; static long sum; public: }; long myclass :: sum=1; int main() { myclass ob1(1,2); myclass(int a,int b) { } void getxy() { } sum*=x*y; cout<<\ x=a; y=b; ob1.getxy(); } sum=2 sum=24 sum=720 3 程序3 下面程序的运行结果是________。 #include 11 myclass ob2(3,4); ob2.getxy(); myclass ob3(5,6); ob3.getxy(); return 0; cout<<\ } private: int b; }; class D:public B { public: D(){} D(int i,int j):B(i){d=j;} private: int d; void virfun() { cout<<\ } }; void fun(B *obj) { obj->virfun(); } void main() { D *pd=new D; fun(pd); } 4. 程序4 下面程序的运行结果是________ 程序: #include }; } return 0; Sample &Sample::operator=(Sample s) { } int main() { } n=10 试题四、程序设计题(第一题10分,第二、三题各15分,共40分) 1. 利用函数模板设计一个求数组元素中和的函数,并定义main函数测试。 2. 定义一个汽车类vehicle,有车轮个数wheels和车重weight两个属性。小车类car是它的私有派生类,有载人数passenger_load属性。卡车类truck也是vehicle的私有派生类,有含载人数passenger_load和载重量payload这两个属性,每个类都有相关数据的输出的成员函数。编写主函数测试所定义的类结构,实现对每个类中数据属性的输出。 3. 设计如下类:(1)建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端,内含两个Point类的对象;建立Triangle类,表示一个三角形,内含三个Line类的对象构成一个三角形。(2)设计三个类的相应的构造函数、复制构造函数,完成初始化和对象复制。(3)设计Triangle类的成员函数完成三条边是否能构成三角形的检验和三角形面积计算,面积显示。 提示:已知三角形的三个点,求三角形面积方法为:S=distance(p1,p2)*distance(p3,Line(p1,p2))/2。 Sample s1(10),s2; s2=s1; s2.disp(); return 0; Sample::n=s.n; return *this; 13
正在阅读:
中小型规模局域网建设总结 - 图文05-07
难忘的篝火晚会作文600字07-03
XX综合物流园区投资建设项目可行性计划书 - 图文09-11
A320常见故障可重置断路器及 - 各种放行标准手册(R2) - 图文11-08
读书指导校本教材 - 图文04-17
销售经典语录02-08
一级建造师案例计算题—成本工期题总结10-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 期终
- c++
- 答案
- 部分
- 考试
- 2014
- 2015