学院:            姓名:          学号:            专业:        班级:            2017-2018学年第一学期  《面向对象程序设计C ++》期末考试试卷(A 卷)
D) 重载二元运算符时,必须声明两个形参
7、设置虚基类的目的是(    B    )。
A) 简化程序  B) 消除二义性  C) 提高运行效率 D) 减少目标代码
8、已知在一个类体中包含如下函数原型: V olume operator-(V olume)const;,下列关于这个函数的叙述中,错误的是(  B  )。
A) 这是运算符-的重载运算符函数
B) 这个函数所重载的运算符是一个一元运算符
C) 这是一个成员函数
D) 这个函数不改变类的任何数据成员的值
9、关于子类型的描述中,(A )是错误的。
A) 子类型就是指派生类是基类的子类型;
B) 一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型
的子类型;
C) 在公有继承下,派生类是基类的子类型;
D) 子类型关系是不可逆的。
10、下列是模板声明的开始部分,其中正确的是(  C )。
A)template<T> B)template<class T1,T2>
C)template<class T1, class T2> D)template<class T1;class T2>
二、判断题(每题1分,共10分)
1、C++语言引入类主要起两个作用:数据封装和类型定义。√
2、只要是类M继承了类N,就可以说类M是类N的子类型。×
3、构造函数可以声明为虚函数。×
4、多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。×
5、重载函数必须有不同的参数列表。√
、通过使用不同的类型参数,函数模板可以生成不同类型的函数。√  、在私有继承中,基类中只有公有成员对派生类是可见的。×  2分,共20分)  public 、  data 赋值给数据成员data 。请将类定义补充delete  px ”语句时,将 。 =进行重载。请将画线处缺失的部学院:            姓名:          学号:            专业:        班级:          燕京理工学院  2017-2018学年第一学期  《面向对象程序设计C ++》期末考试试卷(A 卷)
6、设A为test类的对象且赋有初值,则语句test B(A);
7、函数重载时要求同名函数的参数或否则无法确定是哪个函数。
8、从实现的角度划分,C++
和运行时的多态性。实现运行时多态,要使用函数。
9、带有的类称为抽象类,抽象类的特征是不能声明一个抽象
10、一个允许用户为类定义一种模式,使得类中某些数据成员、某些成员函数的参数和返回值能取任意数据类型。
四、程序阅读题(每题5分,共10分)
1、写出执行下面程序的输出结果。9SS9S
#include<iostream>
using namespace std;
class A{
int a;
public:
A( ): a(9){}
virtual void print( ) const
{cout<<a;}
};
class B: public A{指向类成员函数的指针
char b;
public:
B( ){b= ‘S’;}
void print( ) const
{cout<<b;}
};
void show(A& X){X.print( );}
int main() {
B d2;
p=&d2;
d1.print();
d2.print();
p->print();
show(d1);
show(d2);
return 0;
Part() { cout<<"class Part"<<endl; }
A(char *s) { cout<<s<<endl; }
~A() {}
B(char *s1, char *s2):A(s1)
{    cout<<s2<<endl;  }
C(char*s1,char *s2):A(s1)    {    cout<<s2<<endl;  }
Part p;
D(char *s1, char *s2,char *s3, char *s4):B(s1,s2), C(s1,s3), A(s1)  {  cout<<s4<<endl;  }
D *p=new D("class A", "class B", "class C", "class D");
delete p;
学院:            姓名:          学号:            专业:        班级:          燕京理工学院  2017-2018学年第一学期  《面向对象程序设计C ++》期末考试试卷(A 卷)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。