C++面象程序设计复习题_第1页
C++面象程序设计复习题_第2页
C++面象程序设计复习题_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《面向对象程序设计》复习题一、单项选择题。switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(3。① continue ② goto ③ break ④default说明友元函数的关键字是(d。① inline()②virtual(虚函数)③static(静态)④friend(友元)下面对指向常量的指针描述正确的是(b。/D① 只能指向常量 ② 指向的数据可以被修改① 可以指向普通变量 ④ 必须进行初始化友元函数没有(a。① this指针 ② 返回类型③ 函数名 ④参数(d)不正确。/2① 类名可以重载 ② 函数名可以重载② 运算符可以重载 ④缺省参数是重载的一种方式newnpp应为指向(B)数组的指针。/2① 0 ② 1 ③ n-1 ④ nX重载前缀自增运算,则函数返回类型应为(c。/4① X ② X* ③ X& ④ int以下(a)未调用构造函数(X为类名。① X*p; ② Xobj; ③ Xobj(1); ④Xobj=2;X:func()funcX的(c)函数。① 私有静态成员函数 ② 公有非静态成员函数② 公有静态成员函数 ④ 友元函数若引用作参数,则对应的实参应为(d。① 指针② 地址 ③ 常量④ 变量或对象本身C++中,一个实型常数如果没有任何说明,表示(b)类型。① float ② double ③ longdouble ④ void静态数据是保存在程序所分配内存的(a。① 全局数据区② 代码区③ 堆区④ 栈区C++C中的有参宏定义的语法概念是(b。/4① 重载函数 ② 默认参数的函数③构造函数④ 内联函数具有函数作用域的标识符是(b。① 变量 ② 标号 ③函数名 ④ 对象名在头文件中,最好不应有(a。① 内联函数定义② 常量定义③ 数据定义④ 宏定义下面对指针的基类型描述正确的是(a。① 可是任何类型② 不能是void类型② 不能是函数④ 不能是指针下面对引用描述正确的是(b。/1① 引用本身不是数据类型 ② 不能引用指针变量③ 可定义指向引用的指针 ④ 可以建立引用数组class定义的类的成员缺省段约束符的说明,则应为(b。① 公有段 ② 私有段 ③ 保护段 ④都可以一个隐含参数,这就是(c。① 对象名 ② 类名 ③ this指针④ void指针在用一个已经存在的对象初始化新对象时,要调用(c。① 构造函数② 默认构造函数③ 拷贝构造函数④ 带缺省参数的构造函数二、多项选择题。1.下面对引用的使用描述正确的有(cd 。① 可以引用指针 ②不能创建引用数组③ 可定义指向引用的指针④不允许2( bc )没有参数。① 构造函数② 析构函数③转换运算符④友元函数3( cd )this指针。① 构造函数② 析构函数③友元函数④静态成员函数4(abc )没有返回类型。①构造函数②析构函数③转换运算符④静态成员函数5.以下(bc )只能被重载为成员函数【只能使用成员函数重载的运符有:=、()、[]、->、new、delete】/234① :: ② = ③ () ④[]6.在类的定义中,可能自动产生的成员有(abc 。① 构造函数② 析构函数③拷贝构造函数④赋值函数7.下面关于析构函数,正确的是(ad 。①函数名与类名相同,但在前面加上字符’~’②析构函数不带任何参数③一个类有一个且只有一个析构函数④ 注销对象时,系统自动调用析构函数【下面关于虚函数,正确的是(1、2、4{非类的成员函数不能定义为虚以将析构函数定义为虚函数}①只能是成员函数②不能是静态成员③可以是构造函数④可以是析构函数】8.下面(bcd)不能重载。① >>② ?:③ . ④::若类A保护派生类B,则类B中可直接访问类A中的(bc 。① 私有成员②保护成员 ③公有成员④所有成员类中成员的访问权限描述符可以有(aC。① public ② virtual ③ private ④11拷贝构造函数用于(a。①给新对象赋值②给旧对象赋值③函数返回类型是类类型时④函数参数类型是类类型时若有inta[5];int*p=a;a[2]等效的有(acd。*(a+2)② p[2] ③ *(p+2)④ *(++(++a))C++的语法描述正确的有(。/23C++程序有且只有一个主函数② 存在具有块作用域的函数③ 标识符区分大小写④ 每一个语句可以跨越多行三、判断改错,说明理由。引用和指针作函数的参数,它们对实参的要求是一致的,都必须是地址。(f)/fclassstruct(f)(t)(f)(f)(f)四、读程序,得结果。1.#include<iostream>usingnamespacestd;classA{public:A(){cout<<"A()\n";}};classB:virtualpublicA{public:B(){cout<<"B()\n";}};classC:virtualpublicA,virtualpublicB{public:C(){cout<<"C()\n";}};main(){AobjA;BobjB;CobjC;}2.#include<iostream>usingnamespacestd;classA{public:virtualvoidvf1(){cout<<"Avf1\n";}virtualvoidvf2(){cout<<"Avf2\n";}virtualvoidf(){cout<<"Af\n";}};classB:publicA{public:voidvf1(){cout<<"Bvf1\n";}voidvf2(intx=0){cout<<"Bvf2\n";}voidf(){cout<<"Bf\n";}};main(){A*pa;Bpa=&objB;pa->vf1();pa->vf2();pa->f();}3.#include<iostream>usingnamespacestd;classA{inta;public:A(){a=0;cout<<"Adefaultinitialize…"<<a<<endl;}A(inti){a=i;cout<<"Ainitialize…"<<a<<endl;}~A(){cout<<"Adestructing…"<<a<<endl;}};classB{intb;Aa1,a2;public:B(inti,intj):a2(j){b=i;cout<<"Binitialize…"<<b<<endl;}~B(){cout<<"Bdestructing…"<<b<<endl;}};main(){Bb1(2,3);}4.#include<iostream>usingnamespacestd;classexample{inta;public:example(inti=0){a=i;cout<<"initializing…"<<a<<endl;}example(example&e){a=e.a+1;cout<<"constructcopyof…"<<a<<endl;}};voidfn(examplee){cout<<"infn()…"<<endl;}main(){examplee1=3;examplee2=e1;fn(e2);}五、程序设计。显示一个复数。测试这个类。#include<iostream.h>classcomplex{public:complex(){real=imag=0;}complex(doubler,doublei){real=r;imag=i;}complexoperator+(constcomplex&c);complexoperator-(constcomplex&c);friendvoidprint(constcomplex&c);private:doublereal,imag;};inlinecomplexcomplex::operator+(constcomplex&c){returncomplex(real+c.real,imag+c.imag);}inlinecomplexcomplex::operator-(constcomplex&c){returncomplex(real-c.real,imag-c.imag);};voidprint(constcomplex&c){if(c.imag<0)cout<<c.r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论