宿州学院12本科C++(B)

发布时间:2016-07-01 20:01:10   来源:文档文库   
字号:

宿州学院 2012—2013 学年度第二学期

《面向对象程序设计》(本科) 期末试卷(B)(时间120分钟)

学院:信息工程 班级: 姓名: 学号:

一、选择题(在每小题给出的四个选项中,选择正确的一项。每小题2分,共计30分)

1C++语言中,自定义的标识符(

A能使用关键字并且不区分大小写

B不能使用关键字并且不区分大小写

C能使用关键字并且区分大小写

D不能使用关键字并且区分大小写

2对类的构造函数和析构函数描述正确的是(

A构造函数可以重载,析构函数不能重载

B构造函数不能重载,析构函数可以重载

C构造函数可以重载,析构函数也可以重载

D构造函数不能重载,析构函数也不能重载

3类的析构函数的作用是( )。

A、一般成员函数 B、类的初始化 C、对象初始化 D、删除对象

4下面对于友元函数描述正确的是( )。

A友元函数的实现必须在类的内部定义

B友元函数是类的成员

C友元函数破坏了类的封装性和隐藏性

D友元函数不能访问类的私有成员

5C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过( )派生了新的类。

A复用 B继承 C封装 D引用

6下列虚基类的声明中,正确的是( )。

Aclass virtual B:public A

Bvirtual class B:public A

Cclass B:public A virtual

Dclass B: virtual public A

7在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(

Amain BMAIN C name D function

8.下列有关运算符重载描述正确的是(

A、运算符的重载是多态性的一种表现

BC++可以通过运算符的重载创造新的运算符

CC++中所有运算符都可以作为非成员函数重载

D、重载运算符时可以改变其结合性

9class Myclass{

int value;

public:

Myclass(int n): value(n) { }

int getValue( )const { return vlaue; }

};

则类的构造函数的个数是(

A1 B2 C3 D4

10在语句cout << data;中,cout

A变量名   B、类名   C、对象名   D、函数名

11模板的使用是为了( )。

A、提高代码的可重用性 B、提高代码的运行效率

C、加强类的封装性 D、实现多态性

12Fraction为类重载前增运算符++,应在类体中将其声明为

AFraction& operator ++ ( ); BFraction& operator ++ (int);

Cfriend Fraction& operator ++ ( ); Dfriend Fraction& operator ++ (int)

13关于动态存储分配,下列说法正确的是 )。

AnewdeleteC++语言中专门用于动态内存分配和释放的函数

B动态分配的内存空间也可以被初始化

C当系统内存不够时会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间

D当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

14C++中用来实现运行时多态性的是 )。

A重载函数 B析构函数 C构造函数 D虚函数

15在一个类体的下列声明中,正确的纯虚函数声明是 )。

A virtual void vf()=0; Bvoid vf(int)=0;

Cvirtual int vf(int); Dvirtual void vf(int) { }

二、填空题(在下划线处填写答案。每小题2分,共计20分)

1设有定义语句:int a=12;,则表达式a*=2+3的运算结果是

2.从实现的角度划分,C++所支持的两种多态性分别是 时的多态性和运行时的多态性。

3C++标准库中的异常层次的根类为

4支持coutcin这两个流对象的内部函数体是在一个名为 的头文件中

5对赋值运算符进行重载时,应声明为 函数。

6类的成员根据其访问权限可分为3种:公有类型(public)、私有继承(private)和保护继承(protected),其中,类的封装性通过 和保护继承(protected)部分体现的。

7MFC类库中绝大多数类都源自根类

8个函数声明为一个类的友元函数必须使用关键字

9C++支持面向对象程序设计的四个要素是:抽象性、 继承性和多态性

10分为函数模板和 模板

三、 运行结果题(写出下列程序的运行结果,每小题5分,共计20分)

1. #include//私有属性成员的使用

#include

class ok3

{ char a[20];int b;void kk(){cout<<"私有属性成员的使用\n";}

public:void inab(char aa[],int bb){strcpy(a,aa);b=bb;}

void outab(){cout<

};

void main()

{

ok3 x;

x.inab("面向对象",321);

x.outab();

}

2. #include

class wang

{

int a,b,c;

public:wang(int t1,int t2,int t3){a=t1;b=t2;c=t3;cout<<"三个参数"<

wang(int t1,int t2){a=t1;b=t2;cout<<"二个参数"<

wang(int t1){a=t1;cout<<"一个参数"<

wang(){cout<<"不带参数"<

void out(){cout<

};

void main()

{

wang x(1,2,3);

wang y(11,22);

wang z(33);

}

3. #include

class mg{

double m;static double sm;static int sn;

public:mg(double m0){m=m0;sm=sm+m0;sn++;}

~mg(){sm=sm-m;sn--;}

static void disp(){ cout<<"总重量为:"<

cout<<"总数为:"<

};

double mg::sm=0;int mg::sn=0;

void main()

{

mg x1(7),x2(5),x3(8),x4(3);x2.~mg();

x1.disp();x4.disp();

}

4. #include

class A{public:

virtual void v1(){cout<<"A中的v1\n"; a1();}

void a1(){cout<<"A中的a1\n"; v2();}

virtual void v2(){cout<<"A中的v2\n";} };

class B:public A{public:

void v1(){cout<<"B中的v1\n"; a1();}

void b1(){cout<<"B中的b1\n"; v1();}

void v2(){cout<<"B中的v2\n";} };

void main()

{ B b; b.b1();

}

四、程序设计题(每小题10分,共计30分)

1声明一个Rectangle类,有长itsWidth、宽itsLength等属性,重载其构造函Rectanle( )Rectangle(int widthint length)

2编写一个程序,采用一个类Rectangle计算两个给定的长方形的周长和面积

3定义一个基类有姓名、性别、年龄,再由基类派生出教师类和学生类,教师类增加工号、职称和工资,学生类增加学号、班级、专业和入学成绩。

本文来源:https://www.2haoxitong.net/k/doc/07480936360cba1aa911da18.html

《宿州学院12本科C++(B).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式