C++期末复习2练习题填空Word文件下载.docx
《C++期末复习2练习题填空Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++期末复习2练习题填空Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
”输出的是__________。
8.已知语句“cout<
s;
”的输出是“apple”,则执行语句“cout<
s+2;
”的输出结果为__________。
9.与类成员访问表达式p->
name等价的表达式是____________。
10.与类成员访问表达式(*fp).score等价的表达式是____________。
11.以面向对象方法构造的系统,其基本单位是__________。
12.类是__________的抽象。
13.每个对象都是所属类的一个__________。
14.每个对象都是所属__________的实例。
15.对象将其大部分实现细节隐藏起来,这种机制称为__________。
16.面向对象软件工程包括五个部分,即面向对象分析、__________、__________、__________和__________。
17.类定义中,既包含数据成员,也包含________成员。
18.类中的数据成员的访问属性通常被指明为________。
19.类中的供外部调用定义的函数成员,其访问属性通常被定义为________。
20.对于类中定义的任何成员,其隐含访问权限为________。
21.对于结构中定义的任何成员,其隐含访问权限为________。
22.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为________。
23.若在类的定义体中给出了一个成员函数的完整定义,则该函数属于________函数。
24.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上________和两个冒号分隔符。
25.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上类名和两个________分隔符。
26.若要把类外定义的成员函数规定为内联函数,则必须把________关键字放到函数原型或函数头的前面。
27.假定AA是一个类,“AA*abc();
”是该类中一个成员函数的原型,则在类外定义时的函数头为__________________。
28.为了避免在调用成员函数时修改对象中的任何数据成员,则应在定义该成员函数时,在函数头的后面加上________关键字。
29.若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上________关键字。
30.一个类的__________函数实现对该类对象的初始化功能。
31.一个类的__________函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。
32.当用户为一个类定义有____________时,则系统不会为该类再自动生成一个默认构造函数。
33.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为__________。
34.假定用户没有给一个名为AB的类定义析构函数,则系统为其定义的析构函数为__________。
35.定义类动态对象数组时,其元素只能靠自动调用该类的____________来进行初始化。
36.在一个类中定义拷贝构造函数的目的,是为了当利用该类的一个对象初始化另一个对象时,能够避免这两个对象的同一指针同时指向同一块__________________。
37.为了释放类对象中指针成员所指向的动态存储空间,则需要为该类定义____________。
38.假定AB为一个类,则执行“ABa[10];
”语句时,系统自动调用该类构造函数的次数为________。
39.假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为________。
40.对类中对象成员的初始化是通过在构造函数中给出的______________来实现的。
41.对类中常量成员的初始化是通过在构造函数中给出的______________来实现的。
42.对类中引用成员的初始化只能通过在构造函数中给出的______________来实现。
43.对类中一般数据成员的初始化既可以通过在构造函数中给出的初始化表来实现,也可以通过构造函数中的____________来实现。
44.假定要把aa定义为AB类中的一个常量整数型数据成员,则定义语句为____________。
45.假定要把aa定义为AB类中的一个引用整数型数据成员,则定义语句为____________。
46.假定AB类中只包含一个整型数据成员a,并且它是一个常量成员,若利用参数aa对其进行初始化,则该类的构造函数的定义为____________________。
47.假定AB类中只包含一个整型数据成员a,并且它是一个引用成员,若利用引用参数aa对其进行初始化,则该类的构造函数的定义为____________________。
48.假定指针p指向一个动态分配的类对象,则当执行“deletep;
”语句时,在释放p所指向的动态存储空间之前将自动调用该类的____________。
49.假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;
}”,则系统(会/不会)_________为该类自动定义一个无参构造函数"
AB(){}"
。
50.假定用户为类AB定义了一个构造函数“AB(intaa,char*bb=NULL):
a(aa),b(bb){}”,则该类中至少包含有__________个数据成员。
51.假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;
}”,该构造函数实现对数据成员_________的初始化。
52.假定用户为类AB定义了一个构造函数“AB(intaa=0):
a(aa){}”,则定义该类的对象时,可以有________种不同的定义格式。
53.假定用户只为类AB定义了一个构造函数“AB(intaa,intbb=0){a=aa;
b=bb;
}”,则定义该类的对象时,其实参表中至多带有_________个实参。
54.假定用户只为类AB定义了一个构造函数“AB(intaa,intbb=0){a=aa;
}”,则定义该类的对象时,其实参表中至少带有_________个实参。
55.假定用户为类AB定义了一个构造函数“AB(intaa=0,intbb=0){a=aa;
}”,则定义该类的对象时,可以有________种不同的定义格式。
56.假定用户只为类AB定义了一个构造函数“AB():
a(0),b(0){}”,则定义该类对象x的定义语句“ABx();
”是_________(正确/错误)的。
57.假定用户只为类AB定义了一个构造函数“AB():
a(0),b(0){}”,则定义该类对象x的定义语句“ABx;
58.假定用户只为类AB定义了一个构造函数“AB():
a(0),b(0){}”,则定义该类对象x的定义语句“ABx(5);
59.假定AB为一个类,则类定义体中的“AB(AB&
x);
”语句为该类______________的原型语句。
60.假定AB为一个类,则该类的拷贝构造函数的函数头为_____________。
61.假定AB为一个类,该类中含有一个指向动态数组空间的指针成员pa,则在该类的析构函数中应该包含有一条______________语句。
62.静态成员函数____访问类的静态数据成员,____访问类的非静态数据成员。
63.静态数据成员必须在所有函数的定义体外进行__________。
64.一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明必须在函数名前加上的限定。
65.重载运算符时,该运算符的__________、结合性以及操作符的个数不允许改变。
66.一个单目运算符作为类的成员函数重载时有________个参数;
如果作为独立函数重载,则有________个参数。
67.一个双单目运算符作为类的成员函数重载时有________个参数;
68.作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有________个操作数。
69.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_____________。
70.重载插入运算符<
时,其运算符函数的返回值类型应当是____________。
71.重载提取运算符>
>
72.重载插入运算符<
或抽取运算符>
时,其运算符函数的参数有________个。
73.重载插入运算符<
时,其运算符函数不能被定义为类的________函数。
74.在每个成员函数中,隐含的第一个参数的参数名为________。
填空题参考解答
1.C2..cpp、程序3.//4./*、*/
5.cout6.cin7.main8复合({})
9.空白10.类型11.static12.template
13.虚拟类型(或类型)14.template<
classT>
15.右边(或后面)16.函数体
17.文件18.*p19.p[0]、*P20.’a’
21.char(*)[n]22.deletep23.delete[]p24.H
25.ple26.(*p).name27.fp->
score28.对象
29.对象30。
实例31.类32.封装
33.面向对象设计面向对象编程面向对象测试面向对象维护
34.函数35.private(或私有)36.public(或公有)37.private(或私有)
38.public(或公有)39.private40.内置(内联)41.类名
42.冒号43.inline44.AA*AA:
:
abc()45.const
46.const47.构造48.析构49.构造函数
50.AB(){}51.~AB(){}52.无参构造函数53.动态存储空间
54.析构函数55.1056.N57.初始化表
58.初始化表59.初始化表60.函数体61.constintaa
62.int&
aa;
63.AB(intaa):
a(aa){};
64.AB(int&
aa):
65.析构函数66.不会67.268.a
69.270.271.172.3
73.错误74.正确75.错误76.拷贝构造函数
77.AB(AB&
)(注:
可附带任何一个名字的参数)78.delete[]pa;
79.只能、不能
80.初始化81.类域82.优先级83.0、1
84.1、285.286.成员函数87.ostream&
88.istream&
89.290.成员91.this