奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 6467|回复: 8

西安电子科技大学2016学年上学期《面向对象程序设计(C++)》期末考试试题

[复制链接]
发表于 2016-5-8 08:37:37 | 显示全部楼层 |阅读模式
谋学网
学习中心/函授站_                                                  

姓 名                               学 号                          

西安电子科技大学网络与继续教育学院
2016学年上学期
《面向对象程序设计(C++)》期末考试试
(综合大作业)
题号        一        二        三        四        五        总分
题分        10        20        20        20        30       
得分                                               

考试说明:
1、大作业于2016年4月15日下发,2016年5月7日交回;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、资料须手写完成,要求字迹工整、卷面干净。

一、简答题(10分)
1.1(3分)C++语言中的break语句和continue语句的作用分别是什么?
1.2(3分)什么是函数重载?实现函数重载的原则是什么?
1.3(4分)什么是this指针?它有何作用?
二、填空题(每空2分,共20分)
2.1 纯虚函数就是                  的虚函数,至少包含一个纯虚函数的类称为               。
2.2 C++语言引入了异常处理机制,用             语句“抛出”异常,然后用相应的语句  _            捕获被“抛出”的异常,并做出相应的处理。
2.3 假设x = 5,y = 0,z = 3,则表达式 !x || y++ && z 的值为      ,执行表达式后y的值为      。
2.4 下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。
class MyClass  {
private:
      int *x;
public:
      MyClass(int a);
      ~MyClass();
};
MyClass :: MyClass(int a) {                    ; }
MyClass :: ~MyClass() {                    ;}
2.5 C++语言中,运算符重载一般采用两种形式:                和               。
三、选择题(每题2分,共20分)
3.1 在下面的程序中,若实参a与形参x以引用传递的方式传递信息,实参b与形参y以值传递的方式传递信息,那么从函数compute返回主程序后,a和b的值分别为        。
                 Main Program             void compute(x, y)




A.5和2   B.5和12   C.1和2   D.1和12
3.2 下列语句中,错误的是                  。
A.int i, *ptr = &i;   B.int i; int *ptr; i = *ptr;
C.int *ptr; ptr = 0;   D.int i = 5; int *ptr; *ptr = &i;
3.3 下列对break语句的描述中,不正确的是                 。
A.break语句可以用在循环体中,它将使执行流程跳出本层循环
B.break语句可用在switch语句中,它将使执行流程跳出当前switch语句
C.break语句可用在if语句中,它将使执行流程跳出当前if语句
D.break语句在一层循环体中可以出现多次
3.4 下列对C++中的派生类的描述中,错误的是              。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的缺省继承方式是private继承
D.派生类只继承了基类的公有和保护成员
3.5 下列的各种函数中,            不是类的成员函数。
A.构造函数  B.析构函数  C.友元函数  D.拷贝构造函数
3.6 下列对静态数据成员的描述中,错误的是          。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符
D.静态数据成员不是所有对象所共用的
3.7 下列关于对象数组的描述中,         是错误的。
A.对象数组的下标是从0开始的      B.对象数组的数组名是一个常量指针
C.对象数组的每个元素是同一个类的对象  D.对象数组只能赋初值,而不能被赋值
3.8 下列关于私有继承的描述中,错误的是           。
A.基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员可以直接访问它们
B.基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员不能直接访问它们
C.基类的私有成员,派生类的成员和派生类的对象都无法访问
D.派生类的对象无法访问基类
3.9 应在下列程序中的空缺处填入的正确语句是              。
#include <iostream.h>
class Base {
   public:
     void fun()  { cout << "Base::fun" << endl; }
};
class Derived : public Base {
   void fun() {
                    ;   // 显式调用基类的成员函数fun()
      cout << "Derived::fun" << endl;
   }
};
A.fun()  B.Base.fun()  C.Base::fun()  D.Base->fun()
3.10 下列关于类模板的描述中,不正确的是          。
A.用类模板定义一个对象时,不能省略实参  B.类模板只能有类型参数
C.类模板本身在编译中不会生成任何代码   D.类模板的成员函数都是模板函数
四、读程题(每题5分,共20分)
4.1 给出下述源程序的运行结果。
#include <iostream.h>
#include <string>
void main( ) {
   char *p1, *p2, s[50] = "xyz";
   p1 = "abcd";
   p2 = "ABCD";
   strcpy(s+2, strcat(p1+2, p2+1));
   cout << s << endl;
}
4.2 给出下述源程序的运行结果。
#include <iostream.h>
class Base {
public:
   void fun() { cout << "1"; }
};
class Derived : public Base {
public:
   void fun() {
     cout << "2" << endl;
   }
};
void main() {
   Derived a;
   Base *p = &a;
   (*p).fun();
   a.fun();
}
4.3 给出下述源程序的运行结果。
#include <iostream.h>
int add(int a, int b = 5);
void main()
{  int m = 5;
   cout << "sum1 = " << add(m) << endl;
   cout << "sum2 = " << add(m, add(m)) << endl;
   cout << "sum3 = " << add(m, add(m, add(m))) << endl;
}
int add(int x, int y)
{ return x + y; }
4.4 给出下述源程序的运行结果。
#include <iostream.h>
class A {
private:
   int a, b;
public:
   A(int i, int j) { a = i; b = j; }
   void Move(int x, int y) { a += x; b += y; }
   void Show() { cout << "( " << a << ", " << b << " )" << endl; }
};
class B : private A {
public:
   B(int i, int j, int k, int l) : A(i, j) { x = k; y = l; }
   void Show() { cout << x << " ," << y << endl; }
   void fun() { Move(3,5); }
   void f1() { A :: Show(); }
private:
   int x, y;
};
void main() {
   A e(1, 2);
B d(3, 4, 5, 6);
   e.Show();
   d.fun();
   d.Show();
   d.f1();
}
五、编程题(每题15分,共30分)
5.1 定义两个重载函数,分别能求矩形和圆的周长,然后在main函数中对这两个函数进行调用并测试其功能。求矩形的周长时需要输入矩形的长和宽;求圆的周长时需要输入圆的半径。
5.2 在一个程序中,类Person定义了name和age两个数据成员;由类Person派生出类Student和Teacher,其中类Student定义了学号数据,类Teacher定义了职称数据。每个类均有构造函数、析构函数和打印类中数据的函数。给出类Person、Student、Teacher的定义与实现。
奥鹏作业答案,奥鹏在线作业答案
发表于 2016-5-8 19:35:44 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-6-3 11:25:31 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-6-7 08:31:56 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-6-7 08:34:06 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-6-7 08:35:54 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-10-9 17:04:04 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-10-27 21:54:55 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2020-11-7 20:01:59 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-4-25 06:50 , Processed in 0.108075 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表