《2022年C++模拟测试题复习进程.pdf》由会员分享,可在线阅读,更多相关《2022年C++模拟测试题复习进程.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+模 拟 测 试 题精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 8 页 - - - - - - - - - - 1类中定义的成员,其默认的访问属性是D。A) public B)friend C) protected D)private 2下列关于类和对象的叙述中,错误的是B。A) 对象是类的具体实例 B) 一个类只能有一个对象C) 类是对某一类对象的抽象 D) 类和对象的关系是数据类型与变量的关系3若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字_C_ 放在函数原型或函数头的
2、前面。A) in B) inLine C) inline D) InLiner 4若一个函数功能很简单,但要求被频繁调用,则最好定义其为B 。A) 重载函数 B) 内联函数 C) 递归函数 D) 嵌套函数5定义 p 并使 p 指向动态空间中的包含20 个整数的数组所使用的定义语句为a 。A) int *p = new int20; B) int *p = new int(20); C) int *p = new 20; D) *p = new int20; 6假设 AB 为一个类,则该类的拷贝构造函数的声明语句为 _c_ 。A) AB&(AB x); B) AB(AB x); C) AB(AB
3、 &x); D) AB(AB *x); 7面向对象程序设计思想的主要特征中不包括 d 。A)封装性 B)多态性 C)继承性D)功能分解 , 逐步求精8一维整型数组 a的正确定义是 d 。A) int a(10); B) int n; cinn; int an;C) int n=10; int an; D) const int SIZE=10 ; int aSIZE ;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - 9下列静态数据成员特性中, c
4、是错误的。A) 说明静态数据成员时前边要加修饰符static;B) 静态数据成员要在类体外进行初始化;C) 静态数据成员不是所有对象共有的;D) 引用静态数据成员时,要在静态数据成员名前加和作用域分辨符。10下列各种函数中, a 不是类的成员函数。A)友元函数 B)析构函数 C) 构造函数 D)拷贝构造函数11C+语言中规定,函数的返回值的类型是由 c 。A) return语句中的表达式类型所决定B) 调用该函数时的主调用函数类型所决定C) 在定义该函数时所指的数据类型所决定D) 调用该函数时系统临时决定1一般说来,一个C+ 程序的开发步骤依次为:编写、编译、连接、运行和调试。2在 C+ 中,
5、有两种给出注释的方法。一种是沿用C语言的注释符,即“ /”。另一种是从它开始,直到它所在行尾的字符都为注释的注释符,即“ /*/” 。3C+中的类拥有两类成员,它们是 _数据_ 成员 和 _函数_ 成员 。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - 4如果类 A 继承了类 B,则类 A 称为子类(或派生类),类B 称为父类 (或基类)。5在 C+程序中,对刚创建的对象进行初始化的工作由构造 函数来完成;而对象被删除前的一些清理工作则是由析构函
6、数来完成的。6当成员函数被调用时,系统自动向它传递一个隐含的指针指向调用它的对象,该指针称为 _this_ 指针。动态绑定是在程序 _运行_ 阶段时完成的。7一般情况下,按照面向对象编程方法的要求,把类中数据成员的访问控制属性定义为 _私有_ 类型,而把成员函数的访问控制属性定义为_公有 _ 类型。1简述“构造函数”和“析构函数”在特征、作用上的区别。答:构造函数和析构函数是在类体中说明的两种特殊的成员函数。构造函数的功能是在创建对象时,使用给定的值来将对象初始化。析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。构造函数的特点如下: (1)构
7、造函数是成员函数,函数体可写在类体内,也可写在类体外。 (2)构造函数是一个特殊的函数,该函数的名字与类名相同,该函数不指定类型说明,它有隐含的返回值,该值由系统内部使用。该函数可以有一个参数,也可以有多个参数。 (3)构造函数可以重载,即可以定义多个参数个数不同的函数。 (4)程序中不能直接调用构造函数,在创建对象时系统自动调用构造函数。析构函数的特点如下: (1)析构函数是一个特殊的成员函数,它的名字同类名,并在前面加“”字符,用来与构造函数加以区别。析构函数不指定数据类型,并且也没有参数。 (2)一个类中只能定义一个析构函数,析构函数不能重载。精品资料 - - - 欢迎下载 - - -
8、- - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 8 页 - - - - - - - - - - (3)析构函数可以被调用,也可以由系统调用。在下面两种情况下,析构函数会被自动调用。一是如果一个对象被定义在一个函数体内,则当这个函数结束时,该对象的析构函数被自动调用;二是当一个对象是使用new运算符被动创建的,在使用delete运算符释放它时, delete将会自动调用析构函数。 1源程序如下: #include void fun(int &a, int &b) coutin fun: a,bendl; a -= 10; b += 21;
9、 void main( ) int x=13 , y=15 ; fun(x, y); coutin main: x,yendl; 运行结果:in fun: 13,15 in main: 3,36 2 源程序如下:#include class AB public : AB( int n = 20 , int m = 40 ) ; AB( ) ; void Set( int n , int m ) x = n ; y = m ; private : int x, y ; ; AB:AB( int n , int m ) Set( n , m ) ; cout“ Construct : x=” x
10、“ , y= ” y endl ; AB : AB( ) cout“ Destruct : x=” x “ , y=” y endl ; void main( ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 8 页 - - - - - - - - - - AB x ( 3 ) ; AB y ( 4 , 5 ) ; 运行结果:Construct : x=3, y=40 Construct : x=4, y=5 Destruct : x=4, y=5 Destruct : x=3, y=40
11、1下面程序的运行输出结果为:21+35=56。请补全 exam类。#include class exam public: void set(int x, int y)a=x;b=y; void show() int sum; sum=a+b; couta” +” b” =” sumendl; private: int a,b; ; void main( ) exam ex ; ex . set ( 21 , 35 ) ; ex . show ( ) ; 2. 定义一个复数类 Complex ,重载运算符 “ -” ,使之能用于复数的减法运算,将运算符函数重载为类 Complex 的非成员、非友
12、元的普通函数,并在 main 函数中实现两个复数 3+4i 与 2-i 的相减运算。类 Complex 的公有成员函数 display 用于输出一个复数的实部和虚部,输出格式不限。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 8 页 - - - - - - - - - - #include class Complex private: float real,image; public: Complex(float r=0,float i=0)real=r;image=i; void disp
13、lay(); void show(int i); Complex operator - (Complex &c); ; void Complex:show(int i) coutci=real+imageiendl; void Complex:display() coutC3:image=image,real=realendl; Complex Complex:operator - (Complex &c) Complex t; t.real=real-c.real; t.image=image-c.image; return t; void main() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 8 页 - - - - - - - - - - Complex c1(3,4),c2(2,-1),c3; c3=c1-c2; c3.show(3); c3.display(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -