完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx

上传人:b****5 文档编号:19353192 上传时间:2023-01-05 格式:DOCX 页数:15 大小:20KB
下载 相关 举报
完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx_第1页
第1页 / 共15页
完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx_第2页
第2页 / 共15页
完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx_第3页
第3页 / 共15页
完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx_第4页
第4页 / 共15页
完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx

《完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx》由会员分享,可在线阅读,更多相关《完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

完整版四川大学电子信息学院卓越工程师班高级语言程序设计II考试试题B文档格式.docx

7.在下列函数原型中,可以作为类AA构造函数的是()。

A)voidAA(int);

B)intAA();

C)~AA(int);

D)AA(int);

8.使用ifstream流类定义流对象并打开磁盘文件时,文件的默认打开方式为()。

A)ios:

:

inB)ios:

out

C)ios:

in|ios:

outD)没有默认的打开方式

9.在下面4个关键字中,用于说明虚基类的是()。

A)virtualB)public

C)protectedD)private

10.在面向对象方法中,实现信息隐蔽是依靠()。

A)对象的继承B)对象的多态

C)对象的封装D)对象的分类

二、填空题(本大题共5小题,每小题2分,共10分)不写解答过程,将正确的答案写在每小题的空格内。

错填或不填均无分。

1.含有纯虚函数的类称为()。

抽象类

2.若将一个二元运算符重载为类的成员函数,其形参个数应该是()个。

1

3.一个全局函数应声明为类的()函数才能访问这个类的private成员。

友元

4.重载运算符“>

>

”的函数名为()。

operator>

5.定义模板的关键字为()。

template

三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。

1.阅读下面程序,写出输出结果。

#include<

iostream>

//编译预处理命令

usingnamespacestd;

//使用命名空间std

classCTest

{

private:

intn;

//数据成员

public:

CTest(inti=16):

n(i){}//构造函数

intGet(){returnn;

}//返回n

intGet()const{returnn-2;

}//返回n-2

};

intmain()//主函数main()

CTesta;

//定义对象a

constCTestb(8);

//定义对象b

cout<

<

a.Get()<

"

"

<

b.Get()<

endl;

//输出信息

return0;

//返回值0,返回操作系统

}

上面程序的输出结果为:

16,6

2.阅读下面程序,写出输出结果。

classA

A(){cout<

A"

}//构造函数

~A(){cout<

~A"

}//析构函数

classB

Aa;

//数据成员

B(){cout<

B"

~B(){cout<

~B"

intmain(void)//主函数main()

Bobj;

//定义对象

~B

~A

3.阅读下面程序,写出输出结果。

classT>

TMax(constT&

a,constT&

b){returna<

b?

b:

a;

Max(1.8,5.18)<

endl<

Max<

int>

(1.8,5.18)<

//输出信息

5.18

5

4.阅读下面程序,写出输出结果。

//预处理命令

//使用标准命名空间std

namespacens//命名空间ns

{

intx=10;

//命名空间ns中的变量x

inty=100;

//命名空间ns中的变量y

namespace//无名命名空间

intx=20;

//命名空间中的变量x

inty=300;

//全局变量y

intmain(void)//主函数main(void)

x<

ns:

x<

//显示变量x的值

y<

y<

//显示变量y的值

2010

100300

5.阅读下面程序,写出输出结果。

//基类

classBase

//公有函数:

virtualvoidShow()const{cout<

Base:

Show()"

}//虚函数

//派生类

classDerived:

publicBase

voidShow()const{cout<

Derived:

}//虚函数

voidRefers(constBase&

obj)//基类引用

obj.Show();

//调用函数Show()

Baseobj1;

//定义对象

Derivedobj2;

Refers(obj1);

//调用函数Refers()

Refers(obj2);

Show()

6.阅读下面程序,写出输出结果。

protected:

//数据成员:

inta;

A(intx):

a(x){}//构造函数

a<

}//显示a之值

classB

intb;

B(intx):

b(x){}//构造函数

b<

}//显示a与b之值

classC:

publicA,publicB

C(intx,inty):

A(x),B(y){}//构造函数

voidShow()const//显示b之值

{cout<

}

Cobj(5,18);

//显示相关信息

obj.A:

Show();

//显示相关信息

obj.B:

5,18

18

四、程序填空题(本大题共4小题,每小题3分,共12分)

1.将如下程序补充完整。

//测试静态成员类

classTest

staticintcount;

//对象数

Test(){count++;

}//构造函数,实现对对象进行计数

staticvoidShow(){cout<

共有"

count<

个对象!

"

}//显示对象数

0;

//为静态数据成员赋初值

Testobj1,obj2,obj3;

//定义对象

Test:

//显示对象数

//返回值0,返回操作系统

intTest:

count=

2.下列程序的输出结果为“B”,试将程序补充完整。

voidShow()const{cout<

}//输出信息

classB:

publicA

voidShow()const{cout<

}//输出信息

A*p=newB;

//定义指针

p->

//输出信息

deletep;

//释放空间

virtual

3.将如下程序补充完整。

intm;

Base(inta):

m(a){}//构造函数

virtualvoidShow()const{cout<

m<

Derived(inta,intb):

Base(a),n(a){}//构造函数

voidShow()const//虚函数

{

cout<

n<

;

//显示n及"

Show();

//调用基类的Show()

Derivedobj(158,98);

//定义派生类对象

Base*p=&

obj;

//定义基类指针

//调用Show()

4.将如下程序补充完整。

//整型类

classInt

inti;

Int(intx=0):

i(x){}//构造函数,将基本类型int转换为整型类Int

(){returni;

}//类类型转换函数,将类Int转换为基本类型int

Inta;

//定义整型对象

//显示a

operatorint

五、编程题(本大题共2小题,第1小题12分,第2小题16分,共28分)

1.试使用函数模板实现求一个数组各元素的最小值,要求编写测试程序。

函数模板声明如下:

TypeMin(Typea[],intn)//求数组a各元素的最小值

参考程序:

Typem=a[0];

//用m表示当前所求的最小值

for(inti=1;

i<

n;

i++)

if(a[i]<

m)m=a[i];

//比较求出当前的最小值

returnm;

//返回最小值

inta[]={1,2,3,4,5,6,7,8,9};

//定义数组

Min(a,9)<

//输出各元素的最小值

//返回值,返回操作系统

2.定义复数类Complex,并重载加法运算符“+”、重载输出运算符“<

”和重载输入运算符“>

”,要求编写测试程序。

//声明复数数

classComplex

//数据成员

doublereal;

//实部

doubleimage;

//虚部

//公有函数

Complex(doubler=0,doublei=0):

real(r),image(i){}//构造函数

doubleGetReal()const{returnreal;

}//返回实部

doubleGetImage()const{returnimage;

}//返回虚部

voidSetReal(doubler){real=r;

}//设置实部

voidSetImage(doublei){image=i;

}//设置虚部

Complexoperator+(constComplex&

a,constComplex&

b)//重载加法运算符"

+"

returnComplex(a.GetReal()+b.GetReal(),a.GetImage()+b.GetImage());

//返回和

istream&

(istream&

in,Complex&

z)//重载输入运算符"

doubler,i;

//表示实部(r)和虚部(i)

输入实部:

in>

r;

//输入实部

输入虚部:

i;

//输入虚部

z.SetReal(r);

//设置实部

z.SetImage(i);

//设置虚部

returnin;

//返回输入流对象

ostream&

operator<

(ostream&

out,constComplex&

z)//重载输出运算符"

if(z.GetImage()<

0)cout<

z.GetReal()<

z.GetImage()<

i"

//虚部为负

elseif(z.GetImage()==0)cout<

z.GetReal();

//虚部为0

elsecout<

//虚部为正

returnout;

//返回输出流对象

Complexa,b,c;

//定义复数对象

输入复数a:

//输入提示

cin>

//输入a

输入复数b:

b;

//输入b

c=a+b;

//求和

("

)+("

)="

c<

//输出相关信息

//返回值0,返回操作系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1