C++题目1112.docx

上传人:b****1 文档编号:2403294 上传时间:2022-10-29 格式:DOCX 页数:9 大小:17.34KB
下载 相关 举报
C++题目1112.docx_第1页
第1页 / 共9页
C++题目1112.docx_第2页
第2页 / 共9页
C++题目1112.docx_第3页
第3页 / 共9页
C++题目1112.docx_第4页
第4页 / 共9页
C++题目1112.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C++题目1112.docx

《C++题目1112.docx》由会员分享,可在线阅读,更多相关《C++题目1112.docx(9页珍藏版)》请在冰豆网上搜索。

C++题目1112.docx

C++题目1112

HZAU-专业C++作业11-12

判断题

1.友元关系是单向的,不可交换的。

(2分)

2.只有成员函数才能传递this指针,而友元函数不能传递this指针(2分)

3.友元函数是成员函数,它可以访问类中私有成员。

(2分)

4.在成员函数中访问对象的数据成员时,可以直接用数据成员名,而在友员函数中访问对象的数据成员时,必须指明是哪个对象的数据成员。

(2分)

5.友元是可以继承的。

(2分)

6.常成员函数只能用来引用数据成员的值,而不允许改变数据成员的值。

(2分)

7.C++语言允许使用友元,但是友元会破环封装性。

(2分)

8.必须在类定义体外对静态数据成员进行初始化。

(2分)

9.能访问一个类CMyClass中的private成员的可以是类CMyClass的成员函数,友元函数和友元类中的函数。

(2分)

10.类的友元函数是指可以访问本类私有成员的其他类的成员函数。

(2分)

11.类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。

(2分)

12.如果在一个类的对象之间要进行数据交换,可以使用该类的静态数据成员来完成。

(2分)

13.如果一个类的所有对象都共享某一个变量,则应当将该变量定义为该类的私有成员。

(2分)

1.

如果类A被说明成类B的友元,则()。

(2分)

A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元

2.

友元的作用()。

(2分)

A.提高程序的运用效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类

3.

下述静态数据成员的特征中,()是错误的。

(2分)

A.静态数据成员要在类体外进行初始化

B.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符

C.静态数据成员不是所有对象所共用的

D.说明静态数据成员时前边要加修饰符static

4.

已知类A是类B的友元,类B是类C的友元,则()。

(2分)

A.类A一定是类C的友元

B.类C一定是类A的友元

C.类C定的成员函数可以访问类B的对象的任何成员

D.类A定的成员函数可以访问类B的对象的任何成员

5.

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

(2分)

A.实现必须在类的内部定义B.是类的成员函数C.破坏了类的封装性和隐藏性D.不能访问类的私有成员

6.

下列运算符不能重载为友元函数的是()。

(2分)

A.=()[]->B.+-++--C.><>=<=D.+=-=*=/=

7.

下面对静态数据成员的描述中,正确的是()。

(2分)

A.可以在类体内进行初始化B.不可以被类的对象调用C.不能受private控制符的作用D.可以直接用类名调用

8.

说明静态成员函数的关键字为()。

(2分)

A.virtualB.staticC.enumD.inline

9.

关于友元的描述中()是错误的。

(2分)

A.友元函数是成员函数,它被说明在类体内(可在类体的任何地方)

B.友元函数可直接访问类中的私有成员

C.友元函数破坏封装性,使用时尽量少用

D.友元类中的所有成员函数都是友元函数

10.

在下列各类函数中,不属于类的成员函数的是()。

(2分)

A.构造函数B.析构函数C.友元函数D.拷贝构造函数

11.

下列说明constchar*p;其中p应该是()。

(2分)

A.指向字符常量的指针B.指向字符的常量指针C.指向字符串常量的指针D.指向字符串的常量指针

12.

已知:

print()函数是一个类的常成员函数,它无返回值,下列表示中正确的是()。

(2分)

A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);

13.

模板对类型的参数化提供了很好的支持,因此()。

(2分)

A.类模板的主要作用是生成抽象类

B.类模板实例化时,编译器将根据给出的模板实参生成一个类

C.在类模板中的数据成员都具有同样类型

D.类模板中的成员函数都没有返回值

14.

模板定义中的类型参数可以用作()。

(2分)

A.局部变量类型B.函数参数类型C.函数返回值类型D.以上的都可以

15.

类模板的使用实际上是将类模板实例化成一个具体的()。

(2分)

A.类B.对象C.函数D.模板类

16.

一个()允许为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。

(2分)

A.函数模板B.模板函数C.类模板D.模板类

程序设计题

1.(5分)

函数模板

题目描述

下面程序定义一个函数模板,返回两个值中的最大值,请将以下程序的空补充完整后提交。

#include

usingnamespacestd;

(1)

inlineT

(2)Max(Tconst&a,Tconst&b)

{

return(3);

}

intmain()

{

cout<

cout<

return0;

}

输入描述

输出描述

输入样例

输出样例

10

7.8

2.(10分)

类模板

题目描述

程序功能是计算不同类型的数据之和。

请补充完整程序,并提交。

#include

usingnamespacestd;

(1)

classTAdd

{

private:

Tx,y;

public:

TAdd(Ta,Tb)

{

(2)

(3)

}

Tadd()

{

(4);

}

};

intmain()

{

TAddA(5,6);

TAddB(2.4,5.8);

cout<<"s1="<

cout<<"s2="<

return0;

}

输入描述

输出描述

输入样例

输出样例

s1=11,s2=8.2

 

3.(10分)

静态数据成员

题目描述

设计一个日期(Date)类,其中有数据成员intyear,month,dat;,有静态数据成员数组intdays[12];,用于分别存放一年12个月的天数,初始化为{31,28,31,30,31,30,31,31,30,31,30,31}。

在具体应用时,根据对象的成员year年是否为闰年调整2月份的天数days[1]的值。

请设计一个成员函数计算对象的日期在当年是第几天。

类的成员函数可以设计如下:

Date(intYear=2000,intMonth=1,intDay=1);//构造函数

voidSet(intYear,intMonth,intDay);

intisLeapyear();//判断是否为闰年

intDays();//计算是该年的第几天

voidShow();//显示年月日

并且,在类外编写一个测试函数:

voidtest(inty,intm,intd)

输入描述

待测试的日期

输出描述

天数

输入样例

201211

201221

201231

201241

201251

输出样例

是2012年的第1天

是2012年的第32天

是2012年的第61天

是2012年的第92天

是2012年的第122天

 

4.(10分)

友元

题目描述

设计Point类描述平面直角坐标系中的点,其中有数据成员doublex,y;,再设计一个该类的友元函数用于计算两个给定的Point类对象之间的距离。

如:

frienddoubledistance(constPoint&p1,constPoint&p2);

主函数如下:

intmain()

{

Pointa,b(1,2);

a.Show();b.Show();

cout<

return0;

}

程序运行结果见后面的描述。

输入描述

输出描述

输入样例

输出样例

(0,0)

(3,4)

5

5.(7分)

类模板改错题

题目描述

请将教材P352页的练习12的第1题改正后提交。

输入描述

输出描述

输入样例

输出样例

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

当前位置:首页 > 医药卫生 > 临床医学

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

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