2022年C++选择题填空题判断题.pdf

上传人:C****o 文档编号:12783331 上传时间:2022-04-26 格式:PDF 页数:30 大小:270.14KB
返回 下载 相关 举报
2022年C++选择题填空题判断题.pdf_第1页
第1页 / 共30页
2022年C++选择题填空题判断题.pdf_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《2022年C++选择题填空题判断题.pdf》由会员分享,可在线阅读,更多相关《2022年C++选择题填空题判断题.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、学习资料收集于网络,仅供参考学习资料C+ 选择题填空题判断题1、选择题1、_只能访问静态成员变量。A 静态函数 B 虚函数 C 构造函数 D 析构函数2、下列的各类函数中,_不是类的成员函数。A 构造函数 B 析构函数 C友元函数 D 拷贝构造函数3、友元的作用_。A 提高程序的运行效率 B 加强类的封装性C 实现数据的隐藏性 D 增加成员函数的种类4、类模板的使用实际上是将类模板实例化成一个具体的_。A 类 B 对象 C 函数 D 模板类5、下列函数中,_不能重载。A 成员函数 B 非成员函数 C 析构函数 D 构造函数6、_是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类

2、都必须定义自己的版本。A 虚析构函数 B虚构造函数 C纯虚函数 D 静态成员函数7、_是 istream的派生类,处理文件输入;_是 iostream的派生类,可以同时处理文件的I/O 。A、 ifstream B、 ostream C、 fstream D、 ofstream 8、对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行 _,再执行 _,后执行 _。A 成员对象的构造函数 B 基类的构造函数 C 派生类本身的构造函数9、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用 _提供对全局变量的访问。A 域运算符 B 类运算符 C 重载 D 引用10、一

3、个 _允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。A 函数模板 B 模板函数 C 类模板 D 模板类11、系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是_。A 参数个数 B 参数的类型 C 函数名称 D函数的类型12、如果一个类至少有一个纯虚函数,那么就称该类为_。A 抽象类 B 虚基类 C 派生类 D 以上都不对13、进行文件操作时需要包含_文件。A iostream B fstream C stdio.h D stdliB、 h 14、在 C+ 中,打开一个文件,就是将这个文件与一个_建立关联;关闭一个文

4、件,就取消这种关联。A 类 B 流 C 对象 D 结构15、_提供了类对外部的接口,而_不允许外界访问,但允许派生类的成员访问。A 公有成员 B 私有成员 C 私有成员函数 D 保护成员16、C+对 C语言作了很多改进,下列描述中_使得 C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符; B 、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型; D、引进了类和对象的概念;17、在 C+ 中,关于下列设置缺省参数值的描述中,_是正确的。A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义中指定参数的缺省值;D、

5、设置缺省参数值时,必须全部都设置;18、_不是构造函数的特征。A、构造函数的函数名与类名相同; B、构造函数可以重载;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料C、构造函数可以设置缺省参数; D 、构造函数必须指定类型说明。19、_是析构函数的特征。 A、析构函数可以有一个或多个参数; B、析构函数名与类名不同; C、析构函数的定义只能在类体内; D 、一个类中只能定义一个析构函数;大家帮忙吖,考试要用

6、的呢,要答案吖,谢谢哦,急!问题补充:20、关于成员函数特征的下列描述中,_是错误的。 A、成员函数一定是内联函数; B、成员函数可以重载; C、成员函数可以设置缺省参数值; D、成员函数可以是静态的;21、下列静态数据成员的特性中,_是错误的。 A、说明静态数据成员时前边要加修饰符static; B、静态数据成员要在类体外进行初始化; C、静态数据成员不是所有对象所共用的; D、引用静态数据成员时,要在其名称前加和作用域运算符;22、关于 new运算符的下列描述中,_是错误的。 A、它可以用来动态创建对象和对象数组; B、使用它创建的对象或对象数组可以使用运算符delete删除; C、使用它

7、创建对象时要调用构造函数; D、使用它创建对象数组时必须指定初始值;23、关于 delete运算符的下列描述中,_是错误的。 A、它必须用于new返回的指针; B、使用它删除对象时要调用析构函数; C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。最佳答案1 A2 C3 C4 A5 C6 C7 AC8 ABC9 A10 C11 D12 A13 B14 B15 AD16 D17 B18 D19 A20 A21 C22 D23 C C+ 选择题求助(觉得必对的,请另外选择出来,作为参考)20 分标签:选择题试题 选题 C+ 回答: 1 浏览: 470 提问时

8、间: 2010-06-23 09:42 一、单选题(共 20 道试题)V 1. 说明友元函数的关键字为() A. inline B. virtual C. friend D. define 2. 对 A *p 用 new A 或(A *)malloc(sizeof (A)赋值,如下叙述正确的是() A. malloc分配内存后会调用构造函数初始化,但new函数不会。B. new 分配内存后会调用构造函数初始化,但malloc函数不会。C. new 和 malloc 分配内存后都会调用构造函数初始化。D. new 和 malloc 分配内存后都不会调用构造函数初始化。3. 运算符重载是对已有的运

9、算符赋予多重含义,因此() A. 可以对基本类型( 如 int类型 ) 的数据,重新定义“ +”运算符的含义精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料B. 可以改变一个已有运算符的优先级和操作数个数C. 只能重载C+中已经有的运算符,不能定义新运算符D. C+ 中已经有的所有运算符都可以重载4. 有关类和对象的说法不正确的是() A. 对象是类的一个实例B. 一个类只能有一个对象C. 任何一个对象只能属

10、于一个具体的类D. 类与对象的关系和数据类型与变量的关系相似5. 下面 () 不能由编译系统自动生成A. 构造函数B. 析构函数C. 拷贝构造函数D. 友元函数6. 重载“ ”时,为保证其连用性,重载函数的返回类型应为() A. istream B. ostream C. istream & D. ostream & 7. 下列关于运算符重载的描述中,正确的是() A. 不能改变运算符的优先级B. 能够改变操作数的数目C. 能够重载内嵌类型的运算符的预定含义D. 通过重载运算符“ () ”能够改变运算符的结合性8. C+ 源程序文件的扩展名为() A. .cpp B. .c C. .c+ D.

11、 .dll 9. 若有 float f=6.8;int i= int(f); 则 i 的值为 () A. 6 B. 7 C. 6.8 D. 不确定10. 下列 () 是 C+语言的有效标识符。A. No.1 B. 12345 C. _No1 D. int 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料11. private访问属性限制对象的成员可以在() 中访问。A. 本类的成员函数B. main函数C.

12、父类的成员函数D. 子类的成员函数12. 含有 () 的类称为抽象类,不能直接用它实例化对象。A. 纯虚函数B. 虚函数C. 静态成员D. 友元13. 有类模板定义如下:template class Dream 下列类对象的定义中,正确的是() A. Dream a B. Dream a C. Dream a D. Dream a 14. 如果定义了一个类myclass ,则为 myclass 类对象以成员函数形式重载后+运算符的声明应该为() A. myclass operator+() B. myclass operator+( int ) C. myclass& operator+()

13、D. myclass& operator+( int ) 15. 下列 () 不能有参数。A. 构造函数B. 析构函数C. 友元函数D. 运算16. 下列关于抽象类的描述中,正确的是() A. 抽象类中最多只能有一个纯虚函数B. 抽象类不能定义该类的指针C. 抽象类不能定义该类的对象D. 抽象类至少有一个虚函数17. 以下 () 是不正确的强制类型转换方式。A. (type表达式 ) B. (type)表达式C. type(表达式 ) D. (type)(表达式 ) 18. 有如下函数模板定义:template T f(T x,T y) return x*x+y*y; 在下列对 f 的调用中,

14、错误的是 () A. f(3,5) B. f(3.0,5.5) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料C. f(3,5.5) D. f(3,5.5) 19. 空类就是没有 () 的类。A. 类名B. 任何成员C. 数据成员D. 成员函数20. 下列关于类的描述中,错误的说法是() A. 类是一组对象的模板B. 类是数据和操作的封装体C. 类是对象的实例D. 类是一种自定义的数据类型共 0 条评论 .

15、 学姐 1.C 2.B 3.C 4.B 5.A 6.C 7. 8.A 9.A 10.A 11.A 12.A 13.C 14. 15.B 16. 17. 18. 19.B 20.C 模拟试题一一、选择题1、C+对 C语言作了很多改进,下列描述中()使得 C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2、下列描述中,()是错误的。A、内联函数主要解决程序的运行效率问题;B、内联函数的定义必须出现在内联函数第一次被调用之前;C、内联函数中可以包括各种语句;D、对内联函数不可以进行异常接

16、口声明;3、在 C+ 中,关于下列设置缺省参数值的描述中,()是正确的。A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;4、()不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。5、()是析构函数的特征。A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -

17、 - - - - - - - - -第 5 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料D、一个类中只能定义一个析构函数;6、关于成员函数特征的下列描述中,()是错误的。A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;7、下列静态数据成员的特性中,()是错误的。A、说明静态数据成员时前边要加修饰符static;B、静态数据成员要在类体外进行初始化;C、静态数据成员不是所有对象所共用的;D、引用静态数据成员时,要在其名称前加和作用域运算符;8、友元的作用是()。A、提高程序的运用效率;B

18、、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;9、关于 new运算符的下列描述中,()是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;10、关于 delete运算符的下列描述中,()是错误的。A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。11、const int *p说明不能修改()。A、p 指针;B、p 指针指向的变量;C、p

19、指针指向的数据类型;D、上述 A 、B、C三者;12、已知: print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的;A、void print() const;B、const void print();C、void const print();D、void print(const);13、派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员;14、设置虚基类的目的是()。A、简化程序;B、消除二义性;C、提高运行效率;D、减少目标代码;精品资料 - - - 欢迎下载 - - - - -

20、 - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料15、下列描述中,正确的是() A 、虚函数是一个static 类型的成员函数;B、虚函数是一个非成员函数;C、抽象类是指具有纯虚函数的类;D、抽象类可以说明其对象;二、判断下列描述的正确性,正确填T,错误填F。1、C+中标识符内的大小写字母是没有区别的。()2、C+是一种以编译方式实现的高级语言。()3、计算函数参数顺序引起的二义性是由不同的编译系统决定的。()4、返回值类型、参数个数和类型都相同的函数也可以

21、重载。()5、使用关键字class 定义的类中缺省的访问权限是私有(private)的。()6、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。()7、多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。()8、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。()9、在私有继承中,基类中所有成员对派生类都是不可见的。()10、在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。()11、构造函数可以声明为虚函数。()12、在析构函数中调用虚函数时,采用动态束定。()13、在一个成员函数内调用一个虚函数时,对该虚函数

22、的调用进行动态束定。()14、公有继承可以实现子类型。()15、构造函数可以声明为纯虚函数。()三、分析下列程序的输出结果。1、 #include class Test; void fun1(Test t); Test fun2(); class Test public: Test(int n=1) val=n; coutCon.endl; Test(const Test& t) val=t.val; coutCopy con.endl; Test& operator = (Test& t) val=t.val; coutAssignment.endl; return *this; priva

23、te: int val; ; void main() Test t1(1); Test t2=t1; Test t3; t3=t1; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 fun1(t2); t3=fun2(); void fun1(Test t) Test fun2() Test t; return t; 2、 #include class A public: A() coutAs con.en

24、dl; A()coutAs des.endl; ; class B public: B() coutBs con.endl; B()coutBs des.endl; ; class C:public A,public B public: C():member(),B(),A() coutCs con.endl; C()coutCs des.endl; private: A member; ; void main() C obj; 3、 #include class R public: R(int r1,int r2) R1=r1;R2=r2; void print(); void print(

25、) const; private: int R1,R2; ; void R:print() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 coutR1:R2endl; void R:print() const coutR1;R2endl; void main() R a(5,4); a.print(); const R b(20,52); b.print(); 4、#include class A pub

26、lic: virtual void act1(); void act2() act1(); ; void A:act1() coutA:act1() called. endl; class B : public A public: void act1(); ; void B:act1() cout B:act1() called. endl; void main() B b; b.act2(); 模拟试题二一、填空题(每空1 分,共 20 分)。1、对象是和的封装体。2、定义重载函数时,要从和上进行区分。3、类定义中,缺省的成员是成员。4、当一个成员函数被调用时,该成员函数的指向调用它的对象。

27、5、设置虚基类的目的是,虚基类子对象的初始化由完成。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料6、对虚函数使用基类类型的指针或引用调用,系统使用联编;使用对象调用时,系统使用联编。7、一元运算符作为类成员函数重载时形参;二元运算符作为重载时需声明其右操作数。8、带有的类称为抽象类,它只能作为来使用。9、请填写下列表格(填写直接派生类实例对基类成员的可见性)。直接派生类继承方式基类中成员类型public

28、private protected public private 不可见不可见不可见protected 二、单项选择题(每题2 分,共 20 分)。1、下列描述中,()是不正确的。A、面向对象程序设计可重用性较好;B、对象之间通过消息进行信息传递;C、多态性体现了行为共享;D、面向对象方法的核心是继承;2、执行下列语句后的输出结果是()。int hot=100; int &rad=hot; hot+=100; coutradendl; A、0;B、100;C、200;D、300;3、在 C+ 中,关于下列函数参数的描述中,()是正确的。A、C+语言中,实参是按照自左至右的顺序求值的;B、若一个

29、参数设置了默认值,则其右边的所有参数都具有默认值;C、函数参数的默认值不允许是表达式;D、设置参数默认值时,应该全部参数都设置;4、在()情况下适宜采用inline定义内联函数。A、函数体含有循环语句;B、函数体含有递归语句;C、函数代码小,频繁调用;D、函数代码多,不常调用;5、定义析构函数时,应该注意()。A、其函数名与类名完全相同;B、函数返回类型是void 类型;C、无形参,也不可重载;D、函数体中必须有delete语句;6、下列关于构造函数的描述中,()是正确的。A、构造函数可以设置缺省参数;B、构造函数可以被继承;精品资料 - - - 欢迎下载 - - - - - - - - -

30、- - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料C、构造函数可以对静态数据成员进行初始化;D、构造函数可以说明为虚函数;7、友元的作用是()。A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;8、 int * const p说明不能修改()。A、p 指针;B、p 指针指向的变量;C、p 指针指向的数据类型; D、上述 A、B、C三者;9、关于堆运算符的下列描述中,()是错误的。A、使用堆运算符可以动态建立或删除对象;B、new运算符创

31、建对象时要调用构造函数;C、可以在使用new 创建数组时,为每个数组元素指定初始值;D、delete运算符可以作用于空指针;10、关于继承的描述中,()是正确的。A、派生类是基类的子集;B、析构函数不能被继承;C、子类型关系是可逆的;D、派生类是基类的子类型;三、改错题(程序的每一行前加上了行号,可以通过说明行号来指出错误位置)(共20 分)。1、指出下面程序中的错误并改正。Line1: class MyClass Line2: Line3: public: Line4: MyClass(int i) member=i; Line5: void SetMember(int m) member=

32、m; Line6: int GetMember() const return member; Line7: private: Line8: int member; Line9: ; Line10: void main() Line11: Line12: MyClass obj1; Line13: MyClass obj2(3); Line14: obj1.member=5; Line15: MyClass.SetMember(10); Line16: 2、指出下面程序中的错误,并说明错误原因。Line1: class A Line2: Line3: public: Line4: A() fun

33、c(); Line5: virtual void func()=0; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料Line6: ; 3、指出下面程序中的错误,说明错误原因并改正。Line1: class Test Line2: Line3: public: Line4: Test(int i) Line5: Line6: ptr=new int(i); Line7: Line8: Test() Line

34、9: Line10: delete ptr; Line11: Line12: private: Line13: int *ptr; Line14: ; Line15: void main() Line16: Line17: Test obj1(1); Line18: Test obj2(obj1); Line19: 四、简答题(共30 分)。1、在下面给定的继承结构中,回答下列提出的问题。class One public: int a; void b(); void c(float); ; class Two public: void b(); void c(); private: int a

35、; ; class Three : public One,public Two public: void b(); ; void main() Three obj; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 obj.a=1; -S1 obj.b(); -S2 obj.c(10); -S3 (1) 、什么是多继承中的支配原则?(2) 、主函数中对各条语句(S1, S2, S3)的访问是否具有二义性?为

36、什么?2、写出下面程序的输出结果。#include int Div(int x,int y) if(y=0) throw y; return x/y; void main() try cout6/4=Div(6,4)endl; cout5/0=Div(5,0)endl; cout9/3=Div(9,3)endl; catch(int) coutException of dividing zero.endl; coutIt is OK.endl; 3、写出下面程序的输出结果。#include class A public: A(char i) coutAs cons.iendl; A() cou

37、tAs des.endl; ; class B : virtual public A public: B(char i,char j) : A(i) coutBs cons.jendl; B() coutBs des.endl; private: char b; ; class C : virtual public A 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 public: C(char i,ch

38、ar j) : A(i) coutCs cons.jendl; C() coutCs des.endl; ; class D : public B,public C public: D(char i,char j,char k,char l,char m,char n) : C(k,l), B(i,j),A(i),aa(m) coutDs cons.nendl; D() coutDs des.endl; private: A aa; ; void main() D obj(a,b,c,d,e,f); 五、根据给定的程序执行结果,将下列程序补充完整。(10 分)。#include class B

39、ase public: Base(int i) b=i; (1) protected: int b; ; class Derive1:public Base public: (2) void Print() coutDerive1s Print() called.Print(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料void main() (5) fun(d1); fun(d2); 程序的执行结

40、果如下:Derive1s Print() called. Derive2s Print() called. 模拟试题三一、填空题(每空1 分,共 20 分)。1、所有的面向对象程序设计语言,都支持三个共同的本质特征、。2、为了解决程序中函数调用的效率问题,引入了,定义时需在函数前面加上说明;为了提高程序的运行效率,引入了,定义时需在函数前面加上说明。3、在类的定义当中,缺省的成员是成员。4、请填写下列表格(填写派生类中成员的类型)。派生类继承方式基类中成员类型public private protected public private 不可见不可见不可见protected 5、利用成员函数对

41、二元运算符进行重载时,其左操作数为,右操作数为。6、设置虚基类的目的是,可通过标识虚基类。7、动态联编是在的支持下实现的,它通过来调用该函数操作。二、选择题(每题2 分,共 20 分)。1、下列关于类型转换的描述中,()是错误的。A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double 型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。2、()不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。3、在 C+ 中,关于下列设置参数默

42、认值的描述中,()是正确的。A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置。4、关于 new运算符的下列描述中,()是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 30 页 - - - - - - - - - - 学习资料收集于网络

43、,仅供参考学习资料D、使用它创建对象数组时必须指定初始值。5、重载函数在调用时选择的依据中,()是错误的。A、参数个数;B、参数的类型;C、函数名字;D、函数的类型。6、下列描述中,()是抽象类的特性。A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。7、()是析构函数的特征。A、一个类中只能定义一个析构函数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、析构函数可以有一个或多个参数;8、关于 delete运算符的下列描述中,()是错误的。A、它必须用于new返回的指针;B、它也适用于空指针;C、对一个指针可以使用多次该运算符;D、指针名前

44、只有一对方括号符,不管所删除数组的维数。9、const int *p说明不能修改()。A、p 指针;B、p 指针指向的变量;C、p 指针指向的数据类型;D、上述 A、B、C三者。10、关于子类型的描述中,()是错误的。A、子类型就是指派生类是基类的子类型;B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;C、在公有继承下,派生类是基类的子类型;D、子类型关系是不可逆的。三、改错题(共15 分)。1、找出下面程序中的错误,并说明原因。class X public: int readme() const return m; void writeme(int i) m=i;

45、 private: int m; ; void f(X& x1,const X& x2) x1.readme(); x1.writeme(1); x2.readme(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 x2.writeme(2); 2、找出下面程序中的错误,并改正。#include class TV void SetStation(int Station); int GetStation

46、(); private: int itsStation; void main() TV myTV; myTV.itsStation=9; TV.SetStation(10); TV myOtherTV(2); coutmyTV.GetStation(); 四、写出下列程序的输出结果(每题10 分,共 20 分)。1、 #include class Test; void fun1(Test t); Test fun2(); class Test public: Test(int n=1) val=n; coutCon.endl; Test(const Test& t) val=t.val; co

47、utCopy con.endl; Test& operator = (Test& t) val=t.val; coutAssignment.endl; return *this; private: int val; ; void main() Test t1(1); Test t2=t1; Test t3; t3=t1; fun1(t2); t3=fun2(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习

48、资料 void fun1(Test t) Test fun2() Test t; return t; 2、#include class A public: A() coutAs con.endl; A()coutAs des.endl; ; class B public: B() coutBs con.endl; B()coutBs des.endl; ; class C:public A,public B public: C():member(),B(),A() coutCs con.endl; C()coutCs des.endl; private: A member; ; void ma

49、in() C obj; 五、将下列程序补充完整(共15 分)。1、输出所有pumpkin 的总重量。#include class pumkin public: (1) weight=w; total_weight+; pumkin() (2) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 30 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 static void total_display() coutTotal weight is total_weig

50、ht pounds.endl; private: int weight; static int total_weight; ; (3) void main() pumpkin p1(15),p2(20),p3(12); (4) 2、华氏温度转换为摄氏温度的公式为:C=(F-32)/1.8。#include class convert public: convert(double i) val1=i; (1) protected: double val1; double val2; ; /liters to gallons class l_to_g public: (2) void comput

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁