习题一带答案Word文件下载.docx
- 文档编号:14909443
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:21
- 大小:21.04KB
习题一带答案Word文件下载.docx
《习题一带答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《习题一带答案Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
16、对于类中定义的成员,其默认访问权限为()。
17、每个对象都有一个指向自身的指针,称为()指针,通过使用它来确定其自身的地址。
18、一个类有()个析构函数。
19、在类内定义的()数据不能被不属于该类的成员函数存取。
20、this指针是一个隐含的指针,它隐含于每个类的()中。
二、选择题
1、以下关于类和对象的叙述错误的是()。
A.对象是类的一个实例B.任何一个对象都归属于一个具体的类
C.一个类只能有一个对象D.类与对象的关系和数据类型与变量的关系相似
2、以下关于构造函数的叙述错误的是()。
A.构造函数名必须与类名相同B.构造函数在定义对象时自动执行
C.构造函数无任何函数类型D.在一个类中构造函数又且仅有一个
3、以下关于析构函数的叙述错误的是()。
A.一个类中只能定义一个析构函数B.析构函数和构造函数一样可以有形参
C.析构函数不允许有返回值D.析构函数名前必须冠有符号“~”
4、以下叙述正确的是()。
A.在类中不作特别说明的数据成员均为私有类型
B.在类中不作特别说明的成员函数均为公有类型
C.类成员的定义必须放在类体内
D.类成员的定义必须是成员变量在前,成员函数在后
5、以下叙述不正确的是()。
A.一个类的所有对象都有各自的数据成员,它们共享成员函数
B.一个类中可以有多个同名的成员函数
C.一个类中可以有多个构造函数、多个析构函数
6、以下不属于构造函数特征的是()。
A.构造函数名与类名相同B.构造函数可以重载
C.构造函数可以设置默认参数D.构造函数必须指定函数类型
7、下列函数中,是类MyClass的析构函数的是()。
A.~Myclass();
B.MyClass();
C.~MyClass();
D.~MyClass(intn);
8、关于类和对象不正确的说法是()。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
9、在类定义的外部,可以被访问的成员有()。
A.所有类成员
B.private或protected的类成员
C.public的类成员
D.public或private的类成员
10、关于this指针的说法错误的是()。
A.this指针不能被显示说明
B.当创建一个对象后,this指针就指向该对象
C.成员函数拥有this指针
D.静态成员函数拥有this指针
11、下面有关new运算符的描述,错误的是()。
A.使用new运算符创建对象时,会调用类的构造函数
B.使用new运算符创建数组时,必须定义初始值
C.使用new运算符创建的对象可以使用delete运算符删除
D.new运算符可以用来动态创建对象和对象数组
12、下面关于成员函数的特征中,说法错误的是()。
A.成员函数可以重载
B.成员函数可以是静态的
C.成员函数一定是内联函数
D.成员函数可以设置参数的默认值
13、在通常情况下,复制构造函数的参数是()。
A.某个对象的引用名
B.某个对象名
C.某个对象的成员名
D.某个对象指针名
14、在类体外定义成员函数时,需要在函数名前加上()。
A.类对象
B.类标记
C.类名和作用域运算符
D.域运算符
15、下面关于时间类Time定义的说法中,正确的是()。
Timetime1,time[30];
Time*pTime;
Time&
time2=time1;
A.time[30]是一个数组,它具有30个元素
B.pTime就是指向Time类对象的指针
C.time2是一个类对象引用,定义时必须对其进行初始化,使之成为对象time1的别名
D.以上答案都正确
三、判断题
1、任何一个对象只能属于一个具体的类。
2、构造函数可以有参数,但不可以有返回值。
3、一个类可以有多个构造函数,也可以有多个析构函数。
4、对一个类中数据成员的初始化可以通过构造函数中的参数初始化表实现。
5、使用new运算符动态创建对象数组时必须指定初始值。
6、一个类的所有对象都有各自的数据成员,它们共享成员函数。
7、一个类中可以有多个同名的成员函数。
8、类成员的定义可以是数据成员在前,成员函数在后。
9、类的静态成员函数的初始化工作要放在类外进行。
10、类与对象的关系和数据类型与变量的关系相似。
四、分析题
1、
#include<
iostream.h>
classDate
{
public:
voidset(inty,intm,intd);
voidprint();
private:
intyear,month,day;
};
voidDate:
:
set(inty,intm,intd)
year=y;
month=m;
day=d;
}
print()
cout<
<
year<
"
."
month<
day<
endl;
voidmain()
Datet1;
t1.set(2005,3,3);
t1.print();
2、
Date();
Date(inty,intm,intd);
voidprint();
intyear,month,day;
Date:
Date():
year(2005),month(3),day(15)
{
Date(inty,intm,intd):
year(y),month(m),day(d)
cout<
Datet1,t2(2005,3,18);
t1.print();
t2.print();
3、
#include<
classA
intf1();
intf2();
voidsetx(intm){x=m;
x<
voidsety(intn){y=n;
y<
intgetx(){returnx;
intgety(){returny;
private:
intx,y;
};
intA:
f1(){returnx+y;
f2(){returnx-y;
voidmain()
Aa;
a.setx(10);
a.sety(5);
a.getx()<
’\t’<
gety()<
a.f1()<
a.f2()<
4、
classT
{
T(intx,inty)
{
a=x;
b=y;
cout<
”diaoyonggouzaohanshu1.”<
cout<
a<
b<
}
T(T&
d)
{
”diaoyonggouzaohanshu2.”<
cout<
d.a<
d.b<
}
~T(){cout<
”diaoyongxigouhanshu.”<
intadd(intx,inty=10){returnx+y;
private:
inta,b;
voidmain()
Td1(4,8);
Td2(d1);
d2.add(10)<
5、
#include<
classA
inta;
doubleb;
A(intx=100,doubley=1.2){a=x;
b=y;
voidshow(char*pt)
pt<
a="
b="
}
Aobj1,obj2(100,3.5);
obj1.show("
obj1"
);
obj2.show("
obj2"
A*p;
p=&
obj1;
p->
show("
p->
(*p).show("
(*p)obj1"
obj2;
(*p)obj2"
p=newA;
new"
deletep;
6、
classK
intx;
K(inti){x=i;
vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 一带 答案