面向对象程序设计综合练习题a.doc

上传人:wux****ua 文档编号:9577625 上传时间:2020-04-06 格式:DOC 页数:61 大小:406KB
返回 下载 相关 举报
面向对象程序设计综合练习题a.doc_第1页
第1页 / 共61页
面向对象程序设计综合练习题a.doc_第2页
第2页 / 共61页
面向对象程序设计综合练习题a.doc_第3页
第3页 / 共61页
点击查看更多>>
资源描述
一、单项选择题1-1C+语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( B )。 A面向过程 B面向对象 C安全性 D复用性1-2 C+源程序文件的缺省扩展名为( A )。 A. cpp B. exe C. obj D. lik1-3由C+源程序文件编译而成的目标文件的缺省扩展名为( C )。 A. cpp B. exe C. obj D. lik1-4由C+目标文件连接而成的可执行文件的缺省扩展名为( B )。 A. cpp B. exe C. obj D. lik1-5编写C+程序一般需经过的几个步骤依次是( B )。 A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接1-6用“”运算符从键盘输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。 A空格或逗号 B逗号或回车 C逗号或分号 D空格或回车1-7C+中声明常量的关键字是( A )。 Aconst Bextern Cpublic Denum1-8以下叙述中正确的是( B ) A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的 C. 在程序中使用内置函数使程序的可读性变差 D. 在定义函数时可以在形参表的任何位置给出缺省形参值1-9下列的符号常变量定义中,错误的定义是( C )。Aconst M=10; Bconst int M=20; Cconst char ch; Dconst bool mark=true;1-10函数原型语句正确的是( B )。Aint Function(void a) Bvoid Function (int); Cint Function(a); Dvoid int(double a);1-11以下正确的函数原型语句是( C )。 Adouble fun(int x,int y) Bdouble fun(int x;int y) Cdouble fun(int,int); Ddouble fun(int x,y);1-12下面有关重载函数的说法中正确的是( C )。 A重载函数必须具有不同的返回值类型 B重载函数形参个数必须不同C重载函数必须有不同的形参列表 D重载函数名可以不同1-13函数重载是指( A )。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同1-14采用重载函数的目的是( D )。A实现共享 B减少空间C提高速度 D使用方便,提高可读性1-15以下关于函数模板叙述正确的是( C )。 A函数模板也是一个具体类型的函数 B函数模板的类型参数与函数的参数是同一个概念 C通过使用不同的类型参数,函数模板可以生成不同类型的函数定义D用函数模板定义的函数没有类型1-16以下正确的描述是(C )。 A. 不允许设置参数的默认值 B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数D. 设置参数的默认值时,应该全部参数都设置1-17( B )是给变量取一个别名,它引入了变量的同义词。 A指针 B引用 C枚举 D结构1-18假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为(D )。 A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x; 1-19下列对引用的陈述中不正确的是(C )。 A. 每一个引用都是其所引用对象的别名,因此必须初始化 B. 形式上针对引用的操作实际上作用于它所引用的对象 C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行 D. 不需要单独为引用分配存储空间1-20下列( C )的调用方式是引用调用。 A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值1-21在 ( C )情况下适宜采用inline定义内置函数。A函数体含有循环语句 B函数体含有递归语句 C函数代码少、且频繁调用 D函数代码多、不常调用1-22为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。A内置函数 B重载函数 C递归函数 D函数模板1-23一个函数功能不太复杂,但要求被频繁调用,选用( A )A内置函数 B重载函数 C递归函数 D嵌套函数1-24说明内置函数的关键字是( A )。Ainline Bvirtual Cdefine Dstatic1-37对于动态分配内存空间描述正确的是( D )。A使用new运算符分配的内存空间的长度必须是常量Bdelete运算符可以释放动态的存储空间和静态的存储空间C用new分配的内存空间是不连续的Ddelete运算符只能以释放由new分配的动态存储空间 1-38定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A )。 A. int *p=new int30; B. int *p=new int(30); C. int *p=new 30; D. *p=new int30;2-1C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( D )。A增加了一些新的运算符 B允许函数重载,并允许设置缺省参数C规定函数说明符必须用原型 D引进了类和对象的概念 2-2面向对象软件开发中使用的OOA表示(A )。 A. 面向对象分析 B. 面向对象设计 C. 面向对象语言 D. 面向对象方法 2-3面向对象软件开发中使用的OOD表示(B )。 A. 面向对象分析 B. 面向对象设计 C. 面向对象语言 D. 面向对象方法 2-4关于面向对象系统分析,下列说法中不正确的是(B )。 A. 术语“面向对象分析”可以用缩写OOA表示 B. 面向对象分析阶段对问题域的描述比设计阶段更详细 C. 面向对象分析包括问题域分析和应用分析两个步骤 D. 面向对象分析需要识别对象的内部和外部特征2-5下列关于成员函数特征的描述中,( A )是错误的。A成员函数一定是内置函数 B成员函数可以重载 C成员函数可以设置参数的默认值 D成员函数可以是静态的2-6在关键字private后面定义的成员为类的(A )成员。 A. 私有 B. 公用 C. 保护 D. 任何2-7在一个类的定义中,包含有(C )成员的定义。 A. 数据 B. 函数 C. 数据和函数 D. 数据或函数2-8在类作用域中能够通过直接使用该类的(D )成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何2-9在关键字public后面定义的成员为类的(B )成员。 A. 私有 B. 公用 C. 保护 D. 任何2-10类中定义的成员默认为(B )访问属性。 A. public B. private C. protected D. friend2-11假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(D )。 A. x(a) B. xa C. x-a D. x.a 2-12假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B )。 A. x.a B. x.a() C. x-a D. x-a()2-13假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为(C )。 A. px(a) B. pxa C. px-a D. px.a2-14假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D )。 A. x.a B. x.a() C. x-GetValue() D. x.GetValue()2-14假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(A )。 A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a()2-15若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字(B )放在函数原型或函数头的前面。 A. in B. inline C. inLine D. InLiner2-16下列特性不是面向对象程序设计语言所特有的是( D )。 A数据封装 B继承 C多态性 D模板3-1关于构造函数,下列说法不正确的是( D )。 A构造函数名字和类名相同B构造函数在创建对象时自动执行C构造函数无任何函数返回类型D构造函数有且只有一个3-2类的构造函数是在定义该类的一个(C )时被自动调用执行的。 A. 成员函数 B. 数据成员 C. 对象 D. 友元函数 3-3一个类的构造函数通常被定义为该类的(A )成员。 A. 公用 B. 保护 C. 私有 D. 友元3-4关于构造函数特点描述中,错误的是( A )。 A定义构造函数必须指出类型B构造函数的名字与该类的类名相同C一个类中可以定义0个至多个构造函数D构造函数是一个成员函数3-5对于一个类的构造函数,其函数名与类名( A )。A完全相同 B基本相同 C不相同 D无关系3-6每个类( C )构造函数。 A只能有一个 B可以有公用的C可以有多个 D只可有缺省的3-7对类对象成员的初始化是通过构造函数中给出的( B )实现的。A函数体 B参数初始化表 C参数表 D参数初始化表或函数体3-8假定AB为一个类,则执行“AB x;”语句时将自动调用该类的 ( B ).。 A有参构造函数 B无参构造函数 C复制构造函数 D赋值重载函数3-9假定AB为一个类,则执行 “AB x(a,5);”语句时将自动调用该类的 (A )。 A. 带参构造函数 B. 无参构造函数 C. 复制构造函数 D. 赋值重载函数3-10假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的( B )。A有参构造函数 B无参构造函数C复制构造函数 D赋值构造函数3-11构造函数不具备的特征是( D )。A构造函数的函数名与类名相同 B构造函数可以重载C构造函数可以设置默认参数 D构造函数必须指定类型说明3-12假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) ”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为( C )。A1 B2 C3 D43-13假定一个类的构造函数为 “A(int aa, int bb) a=aa; b=aa*bb;”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为(C )A. 4和5 B. 5和4 C. 4和20 D. 20和53-14假定一个类的构造函数为 “A(int aa=1, int bb=0) a=aa; b=bb;”,则执行 “A x(4);”语句后,x.a和x.b的值分别为(D )。A. 1和0 B. 1和4 C. 4和1 D. 4和03-15假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为(C )。A. AB() B. AB(): a(0)C. AB(int aa=0) a=aa; D. AB(int aa) 3-16类的析构函数是一个对象被(B )时自动调用的。 A. 建立 B. 撤消 C. 赋值 D. 引用3-17能够释放对象所占资源的是( A )。 A. 析构函数 B. 数据成员 C. 构造函数 D. 静态成员函数3-18类的析构函数的作用是( D ).。 A一般成员函数 B类的初始化 C对象的初始化 D对象释放后的操作 3-19对于一个类的析构函数,其函数名与类名(C )。 A. 完全相同 B. 完全不同 C. 只相差一个字符 D. 无关系3-20一个类的析构函数通常被定义为该类的(C )成员。 A. 私有 B. 保护 C. 公用 D. 友元3-21定义析构函数时,应该注意( C )。 A其名与类名完全相同 B返回类型是void类型 C无形参,也不可重载 D函数体中必须有delete语句3-22类的析构函数可以带有(A )个参数。 A. 0 B. 1 C. 2 D. 任意3-23类的析构函数是在( C )调用的。A类创建时 B创建对象时 C对象生命期结束时 D不自动调用3-24当一个类对象离开它的作用域时,系统自动调用该类的(D )。A. 无参构造函数 B. 带参构造函数 C. 拷贝构造函数 D. 析构函数3-25假定一个类对象数组为An,当离开它定义的作用域时,系统自动调用该类析构函数的次数为(C )。 A. 0 B. 1 C. n D. n-13-26假定AB为一个类,则执行 “AB a10;”语句时调用该类无参构造函数的次数为( D )。 A. 0 B. 1 C. 9 D. 103-27假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为(D )。 A. int B. char C. AA D. AA* 3-28假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为(C )。 A. abc B. *this C. this D. this&3-29假定AB为一个类,则执行 “AB *px=new ABn;”语句时将(A )。A. 动态分配一个数组 B. 动态分配一个对象C. 静态分配一个数组 D. 静态分配一个对象3-30设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的(C ) A. 无参构造函数 B. 带参构造函数 C. 析构函数 D. 复制构造函数3-31对于在类中定义的静态数据成员,下面正确的说法是( C )。A该类的每一个对象中都有一个静态数据成员B对象创建时产生C在类外进行初始化D既可以在类外初始化,也可以在类内初始化3-32一个类的静态数据成员所表示属性 (C )。 A. 是类的或对象的属性 B. 只是对象的属性 C. 只是类的属性 D. 类和友元的属性3-33类的静态成员的访问控制(D )。 A. 只允许被定义为private B. 只允许被定义为private或protectedC. 只允许被定义为publicD. 可允许被定义为private、protected或public3-34静态成员函数对类的数据成员访问(B )。A. 是不允许的 B. 只允许是静态数据成员C. 只允许是非静态数据成员 D. 可允许是静态数据成员或非静态数据成员3-35被非静态成员函数访问的类的数据成员(A )。 A. 可以是非静态数据成员或静态数据成员 B. 不可能是类的静态数据成员 C. 只能是类的非静态数据成员 D. 只能是类的静态数据成员3-36静态数据成员的初始化是在(D )中进行的。 A. 构造函数 B. 任何成员函数 C. 所属类 D. 全局区3-37由于数据隐藏的需要,静态数据成员通常被说明为( A )。A私有的 B公用的 C保护的 D不可访问的3-38复制构造函数的参数通常是( C )。A无特殊要求 B指向对象的指针 C自己类对象的常引用 D对象3-39通常,复制构造函数的参数是( C )。A某个对象名 B某个对象的成员C某个对象的引用名 D某个对象的引用名3-40关于常成员的描述中,错误的是( B )。 A常成员包括常数据成员和常成员函数两种B常数据成员必须是公用的C常数据成员要使用构造函数成员初始化列表进行初始化D常对象只能调用它的常成员函数,不能调用其它的成员函数3-41引入友元的主要目的是为了(C )。 A. 增强数据安全性 B. 提高程序的可靠性 C. 提高程序的效率和灵活性 D. 保证类的封装性3-42一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明(A )。 A. 需加上类域的限定 B. 不需加上类域的限定C. 类域的限定可加可不加 D. 不需要任何限定3-43类成员的访问权限中,( C )只能被本类的成员函数和其友元函数访问。Ashare Bpublic Cprivate Dprotected3-44当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的(D )。 A. 只能是公有成员 B. 只能是保护成员C. 只能是除私有成员之外的任何成员 D. 具有任何权限的成员3-45下面不是描述类的成员函数的是( C )。A构造函数 B析构函数 C友元函数 D复制构造函数3-46 下列函数中,( C )不是类的成员函数。A构造函数 B析构函数 C友元函数 D复制构造函数3-47如果类A被说明成类B的友元,则( D )。A类A的成员即类B的成员 B类B的成员即类A的成员C类A的成员函数不得访问类B的成员 D类B不一定是类A的友元4-1关于运算符重载,下列说法正确的是(C )。 A. 重载时,运算符的优先级可以改变。B. 重载时,运算符的结合性可以改变。C. 重载时,运算符的功能可以改变。D. 重载时,运算符的操作数个数可以改变。4-2下列关于运算符重载的描述中,错误的是( B )。 A运算符重载不可以改变操作数的个数B运算符重载不可以改变运算符的功能C运算符重载不可以改变结合方向D运算符重载不可以改变运算优先级4-3关于运算符重载,下列说法正确的是( B )。A所有运算符都可以重载 B通过重载,可以使运算符应用于自定义的数据类型 C通过重载,可以创建原来没有的运算符号 D通过重载,可以改变运算符的优先级4-4在一个类中可以对一个运算符进行( D )重载。 A1种 B2种以下 C3种以上 D多种4-5不能参与重载的运算符是( A )。A类 B函数 C函数模板 D运算符4-6在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B )。 A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符 C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符4-7在成员函数中进行双目运算符重载时,其参数表中应带有(B )个参数。 A. 0 B. 1 C. 2 D. 34-8双目运算符重载为普通函数时,其参数表中应带有(C )个参数。 A. 0 B. 1 C. 2 D. 34-9如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(A )。 A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(a+b) 4-10如果表达式a=b中的“=”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C )。 A. a.operator=(b) B. b.operator=(a) C. operator=(a,b) D. operator=(b,a)4-11如果表达式+a中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为(D )。A. a.operator+(1) B. operator+(a)C. operator+(a,1) D. a.operator+()4-12在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是(D ) A. 该运算符是一个单目运算符。 B. 该运算符函数有一个隐含的参数this。 C. 该运算符函数是类的成员函数。 D. 该运算符函数是类的友元函数。4-13关于插入运算符a=3; c1.A-display() 5-21当派生类中有和基类一样名字的成员时,一般来说,( B )A. 将产生二义性 B. 派生类的同名成员将覆盖基类的成员C. 是不能允许的 D. 基类的同名成员将覆盖派生类的成员 5-22C+中的虚基类机制可以保证:( D )。A. 限定基类只通过一条路径派生出派生类B. 允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类C. 当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员D. 当一个类多次间接从基类派生以后,其基类只被一次继承5-23下列虚基类的声明中正确的是( D )。Aclass virtual B:public A Bvirtual class B:public ACclass B:public A virtual Dclass B: virtual public A 5-24若类A和类B的定义如下:class A int i,j; public:A(int m,int n):i(m),j(n) int Geti()return i;class B:public Aint k; public:B(int m,int n,int u):A(m,n),k(u)void Make()k=i*j;int main()B b(1,2,3);return 0;则上述定义中,( A )是非法的表达式。Ak=i*j; Bint k; Creturn i; Dvoid Make()5-25以下说法中,错误的是( D ) A派生类对象可以向基类对象赋值B派生类对象可以替代基类对象向基类对象的引用进行赋值或初始化C如果函数的参数是基类对象或基类对象的引用,实参可以用子对象的实参D可以用基类对象的指针指向派生类对象,并访问派生类中的全部成员6-1面向对象方法的多态性是指(C )。 A. 一个类可以派生出多个特殊类 B. 一个对象在不同的运行环境中可以有不同的变体 C. 针对一消息,不同的对象可以以适合自身的方式加以响应 D. 一个对象可以是由多个其他对象组合而成的 6-2从系统实现的角度看,多态性分为静态多态性和动态多态性。以下说法错误的是( C )。 A静态多态性是编译时的多态性B函数重载实现的多态性是静态多态性C通过虚函数实现的多态性是静态多态性D动态多态性是运行时的多态性6-3关于消息,下列说法中不正确的是(B )。 A. 发送消息的对象请求服务,接受消息的对象提供服务 B. 消息的发送者必须了解消息的接收者如何响应消息 C. 在C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用 D. 每个对象只能接收某些特定格式的消息6-4编译时的多态性使用什么获得?( A )A重载函数 B继承 C虚函数 DB和C6-5运行时的多态性使用什么获得?( C )A重载函数 B继承 C虚函数 DB和C6-6虚函数的定义是在基类中进行的,定义时需要冠以关键字( C )。A. static B. friend C. virtual D. public6-7C+编译系统确定调用是具体对象的过程称为关联。C+有( B )关联。A1种 B2种 C3种 D4种6-8 调用一个成员函数时,使用动态关联的情况是( B )。A通过对象调用一虚函数 B通过指针或引用调用一虚函数C通过对象调用一静态函数 D通过指针或引用调用一静态函数6-9C+类体系中,不能被派生继承的有( C )。A转换函数 B构造函数 C虚函数 D静态成员函数6-10C+语言建立类族是通过( B )。A类的嵌套 B类的继承 C虚函数 D抽象类6-11在下面的4个关键字中,( A )是用来说明虚函数的。Avirtual Bpublic Cprotected Dprivate6-12实现运行时的多态性要使用( D )。A重载函数 B析构函数 C构造函数 D虚函数6-13关于纯虚函数,下列说法不正确的是( C )。 A纯虚函数是在声明虚函数时被初始化为0的函数 B纯虚函数没有函数体 C纯虚函数可以被调用 D如果在一个类中声明了纯虚函数,该虚函数中在派生类中仍有可能为虚函数6-14如果一个类至少有一个纯虚函数,那么该类称为( A ).。 A抽象类 B虚基类 C派生类 D以上都不对 7-1C+的输入输出不包括( )。 A标准的输入输出 B文件的输入输出C字符串输入输出 D显示屏和打印机的输入输出7-2下面的类中,( )不是由抽象基类ios直接派生出来的。 Aistream Bostream Ciostream Dfstreambase7-3在C+中,抽象基类ios直接派生出( )。 Aistrean, ostream, ifstream,ofstreamBistrean, ostream, istrstream,ostrstreamCistrean, ostream, iostreamDistrean, ostream, fstreambase,strstreambase7-4cin是某个类的标准对象,该类是( B )。Aostream Bistream Cstdout Dstdin7-5cout是某个类的标准对象,该类是( A )。Aostream Bistream Cstdout Dstdin7-6关于cout流对象,以下说法不正确的是( D )。 Acout是ostream流类对象B用“cout”输出数据时,不须考虑数据是什么类型C当向cout流插入一个endl时,输出换行D用“cout”可以直接输出用户声明的类型的数据。7-7在iostream文件中定义了4种流对象,它们是( A )。 Acin, cout, cerr, clog Bcin, cout, cerr, putCcin, cout, put, get Dcin, cout, cerr, get7-8在C+中串流类是在头文件strstream.h中定义的,下列不属于串流类的是( C )。 A. strstream B. ostrstream C. ofstream D. istrstream7-9在C+程序中使用的cin标识符是系统类库中定义的(A )类中的一个对象。 A. istream B. ostream C. iostream D. fstream7-10在C+程序中使用的cout标识符是系统类库中定义的(B )类中的一个对象。 A. istream B. ostream C. iostream D. fstream7-11以下的函数中,( A )不是用于字符输入的。 Acout.put(a) Bcin.get()Ccin.get(ch) Dcin.get(ch,10, n)7-12关于文件,以下说法不正确的是( C )。 A用户常用的文件有程序文件和数据文件两大类B根据数据的组织形式,文件可分为ASCII文件和二进制文件C对于字符信息,用ASCII文件输出和用二进制文件输出,其形式是不同的D对于数值数据,用ASCII文件和用二进制文件所占内存空间是不同的8-1以下说法中,正确的是( C )。 A编译系统能发现语法错误,也能发现运行错误B程序能通过编译,也能运行,就能得到正确的运行结果C程序能通过编译,也能运行,不一定能得到正确的运行结果 D发现运行错误比发现编译错误较容易8-2C+处理异常的机制有3部分组成,即( B )。 A检查(try)、捕捉(catch)和纠错(error correction)B检查(try)、抛出(throy)和捕捉(catch)C检查(try)、捕捉(catch)和处理(heandl) D检查(try)、抛出(throy)和处理(heandl)8-3关于异常处理,以下说法不正确的是( C )。 A被检测的函数必须放在try块中B try块和catch块作为一个整体出现Ccatch既要检查所捕获的异常信息的类型,也检查它们的值D如果throw抛出的异常信息找不到与之匹配的catch块,程序终止运行8-4关于命名空间,以下说法不正确的是( D )。 A命名空间实际上是一个由程序设计者命名的内存区域B命名空间的作用是建立一些互相分隔的作用域,以免产生名字冲突C全局变量独立于所有有名的命名空间之外,不需声明命名空间D不能在一个命名空间内再定义一个命名空间二、填空题1-1C+预定义的标准流包括 cin 、 cout 、cerr和clog。1-2要把PI=3.14159定义为常变量,定义语句是 const float PI=3.14259 。1-3重载函数在函数类型或参数个数上不同,但 函数名 相同。1-4函数重载时,编译系统会根据 形参的类型 或 形参的个数 来区分,与返回类型无关。1-5所有的函数模板都是以 template 关键字和一个形参表开头的。1-6设函数max是由函数模板实现的,并且max(3.5,5)和max(2,5)都是正确的函数调用,则此函数模板具有 2 个类型参数。1-7如果一个函数既作为重载函数,又作为有默认值的函数,当调用函数时如果少写了一个参数,会出现 二义性 。1-8引用通常用作函数的 参数 和返回值。1-9、C+语言的函数参数传递方式有 传值 和 传址 。1-10要把一个函数指定为一个内置函数,有在函数首行的左端加一个关键字 inline 。1-11在C+中,用动态分配/撤消内存运算符 new 和 delete 分别取代C中的malloc和free函数。1-12New的功能是 动态申请 内存空间,delete的功能是 释放由new申请的 内存空间。1-13使用函数模板的方法是先说明函数模板,然后实例化成相应的 模板函数 进行调用、执行。2-1对象的三大特征是 封装 、 继承 和 多态 。2-2对象的三大基本特性是多态性、 继承 、封装性。2-3在C+类中可以包含 公共 、 保护 和 私有 三种具有不同访问控制权的成员。2-4如果在类的定义中既不指定private,也不指定public,则系统默认为是 私有的(private) 。2-5如果在类外定义成员函数,必须在函数名前加上类名和 作用域限定符“:” 。2-6在以下程序段的空白处填上合适的语句: Class Time public: Int hour; Int minute; ; Time t,*p P=&t; Couthour ; /输出p指向的对象中的成员hour2-7类的具体表现是通过创建 对象 来操作的。3-1构造函数的作用是 处理对象的初始化 。3-2析构函数的作用是 在撤消对象占用的内存之前完成一些清理工作 。3-3如果一个类的名称是Student,则它的析构函数名为 Student() 。3-4一个类可以有 多 个构造函数,有 一 个析构函数。3-5每一个成员函数都包含一个特殊的指针,这个指针称为 this ,它是指向本类对象的指针,它的值是当前被调用的成员函数所在对象的的 起始地址 。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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