程序的输出结果是___。 答案: 1516
[解析]a=21以十六进制输出,j=16以十进制输出。
4. 在单继承和多继承方式中,面向对象的程序设计应尽量使用___继承。 答案:单
[解析]多继承是单继承的扩展,且多继承易产生二义性等问题。
5. 函数模板中紧随template之后尖括号内的类型参数都要冠以保留字___。 答案: class
[解析]类模板的使用。template ,也可以引入多参数的如:template
6. 在C++中,访问指针所指向的对象的成员使用___运算符。 答案:->或.
[解析]使用指针访问成员有两种方法:成员运算符“.”或指向运算符“.”。
7. 定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。 答案:无参
[解析]使用new创建对象数组,调用无参构造函数。
8. 局部对象和全局对象中,在同一程序中___生存期最长。 答案:全局对象
变量或对象的生命期或者作用域的不同,全局对象生命期长。 9. this指针始终指向调用成员函数的___。 答案:对象
this指针是隐藏的指针,它指向调用函数的对象。 10. 派生类的主要用途是可以定义其基类中___。 答案:不具有的成员
[解析]继承的特点,扩充基类,即在派生类中增加基类不具有的成员。 11. 在用class定义一个类时,数据成员和成员函数的默认访问权限是___。 答案: private
[解析]定义类时的成员默认为私有,而结构体则是公有。 12. 使用new为int数组动态分配10个存储空间是___。 答案: new int[10];
[解析]new delete动态开辟空间和删除空间。new int[10],注意不要写成new int(10),使用小括号只能开辟一个空间,使用10来初始化该值。 13. 类模板用来表达具有___的模板类对象集。 答案:相同处理方法
[解析]模板特点是不同的数据具有相同的处理方法的抽象。
14. 如果通过同一个基类派生一系列的类,则将这些类总称为___。 答案:类族
[解析]单继承方式派生的众多的类。
15. 面向对象的四个基本特性是多态性、继承性、和封装性___。 答案:抽象
[解析]考察面向对象的四个特征。程序由一组抽象的对象组成,一组对象的共同特征抽象出类 的概念,类是对象的抽象,对象是类的实例。封装即将数据和操作紧密结合提供访问的接口,外 部通过接口实现访问数据,提供安全性。继承继承解决了类的扩展性。多态性不同对象调用相同 的函数名,但调用不同的函数,实现不同的功能,解决了接口统一的问题。 16. 所有模板都是以___关键字和一个形参表开头的。 答案: template
[解析]类模板,函数模板都要使用template这一关键字。
17. 在C++语言中,访问一个对象的成员所用的成员运算符是___。 答案:.
[解析]成员运算符“.”,如果是指针可以使用“->”。
18. 开发一个C++语言程序的步骤通常包括编辑、___、连接、运行和调试。 答案:编译
[解析]vc开发过程,要经过编辑、编译、连接和运行四个步骤,与其它高级语言相同。 19. 执行下列代码
string str(\cout<[解析]substr取子字符串,第1个参数表示要截取子串在字符串中的位置,第2个表示取多少个 字符。
20. 定义___函数时,应在参数个数或参数类型上有所不同。 答案:重载
[解析]重载函数要求同名函数具有相同的功能,而只能是函数类型、参数个数或参数顺序不同 。系统将根据同名函数的这些不同之处来选择其对应的实现。 三、改错题(本大题共5小题,每小题4分,共20分) 1. #include #include #include using namespace std; class A {public:
A(const char *na){strcpy(name,na);} private:
char name[80]; };
class B:public A { public:
B(const char *nm):A(nm){} void show(); };
void B::show()
{ cout<<\}
void main() { B b1(\b1.show(); }
答案:private:因为name如果是私有的,在派生类中无法访问,而基类没有提供成员函数来访问