面向对象程序设计复习题汇总

上传人:ji****72 文档编号:39570526 上传时间:2018-05-17 格式:DOC 页数:29 大小:148KB
返回 下载 相关 举报
面向对象程序设计复习题汇总_第1页
第1页 / 共29页
面向对象程序设计复习题汇总_第2页
第2页 / 共29页
面向对象程序设计复习题汇总_第3页
第3页 / 共29页
面向对象程序设计复习题汇总_第4页
第4页 / 共29页
面向对象程序设计复习题汇总_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《面向对象程序设计复习题汇总》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题汇总(29页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计面向对象程序设计 C+ 复习资料与答案复习资料与答案2012 年年 5 月月2第一、二、六、七章习题第一、二、六、七章习题一、选择题一、选择题 1、系统约定 C+源程序文件名的缺省的扩展名为() A、bccB、c+C、cppD、vcc 2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来 处理。 A、对数据的操作B、信息C、数据隐藏D、数据抽象 3、当一个函数无返回值时,函数的类型应定义为() A、voidB、任意C、int D、无 4、对于 C+的函数,正确的叙述是: A、函数的定义不能嵌套,但函数的调用可以嵌套 B、函数的定义不能嵌套,但函数的调

2、用不能嵌套 C、函数的定义和调用都不能嵌套 D、函数的定义和调用都可以嵌套 5、下列语句中错误的是( ) A、int *p=new int(10);B、int *p=new int10 C、int *p=new int;D、int *p=new int40(0); 6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:( ) A、name3=a;、name=”lin”; 、name=new char5; 、cout T max(T x,T y) return(xy)?x:y;并定义了 int i;char c;错误的调用语句是:( ) A、ma

3、x(i,i)B、max(c,c)C、max(int)c,i);D、max(i,c) 11、模板的使用是为了() A、提高代码的可重用性B、提高代码的运行效率 C、加强类的封装性D、实现多态性 12、设有二个语句:int xa;cinx;则编译器认为() A、说明语句 int xa错B、二个语句都错 C、语句 cinx 错D、二个语句正确,没有语法错 13、设有语句:void f(int a10,int int y10,*py=y,n;则对函数 f 的正确调用语 句是() A、f(py10,n);B、f(py,n)C、f(*py,语句打开文件 Sales.dat 后,则( ) A、使输出追加到文

4、件尾部 B、打开一个文件进行读操作 C、打开一个文件进行读和写操作 D、文件以二进制方式打开,默认时为文本文件二、填空题二、填空题 1、面向对象的程序设计有四大特征,它们是抽象、封装、 、 。 2、结构体类型中的数据和成员函数默认类型为 。 3、C+要求为每个函数建立原型,以说明函数的名称、参数的 和 ,以及函数 返回值。 4、在函数说明前加关键字“inline” ,则该函数被声明为 函数,其引入的目的是为了 消除函数调用时的开销,以提高运行速度。 5、引用变量与被引用变量占有 内存单元 6、 运算符能够用于访问当前作用域内与局部变量同名的全局变量。 7、#include using name

5、space std; void s(int a,int a=b;b=t; int main(void) int x=500,y=1000;cout using namespace std; int main(void) for(int a=1,b=1;a=8) break; if(b%2=1)b+=7;continue; b-=3; cout 4using namespace std; int x=100; int main(void)int x=200;x+=:x; int x=500;:x+=x; cout using namespace std; void f(float x=5, in

6、t y=16, char z=C); int main( ) float a=1.6; int b=2; char c=D; f();f(a);f(a,b); f(a,b,c); return 0; void f(float x, int y, char z) cout using namespace std; char a=“ABCDEFGHI”; char int main() f(6)=X; cout using namespace std; #include int main() int i=7890; cout using namespace std; int main() int

7、i=100;cout.setf(ios:hex);cout和作用域运算符; 6、友元的作用是( ) 。 A、提高程序的运用效率; B、加强类的封装性; C、实现数据的隐藏性; D、增加成员函数的种类; 7、关于成员函数特征的下列描述中, ( )是错误的。 A、成员函数一定是内联函数; B、成员函数可以重载; C、成员函数可以设置缺省参数值; D、成员函数可以是静态的; 8、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中, ( )是正确的;A、void print() const; B、const void print(); 6C、void const print(); D

8、、void print(const); 9、在( )情况下适宜采用 inline 定义内联函数。 A、函数体含有循环语句; B、函数体含有递归语句; C、函数代码小,频繁调用; D、函数代码多,不常调用; 10、假定 AB 为一个类,则执行“AB a(4) , b3 , * p2 ;”语句时,自动调用该类构 造函数的次数为( )。 A、 3 B、 4 C、 6 D、 9 11、通常拷贝初始化构造函数的参数是( )。 A、某个对象名 B、某个对象的成员名 C、某个对象的引用名 D、某个对象的指针名 12、有关类的说法不正确的是( )。 A、类是一种用户自定义的数据类型 B、只有类中的成员函数才能

9、存取类中的私有数据 C、在类中,如果不作特别说明,所有的数据均为私有类型 D、在类中,如果不作特别说明,所有的成员函数均为公有类型 13、在声明类时,下面说法正确的的是( )。 A、可以在类的声明中给数据成员赋初值B、数据成员的类型可以是 register C、public, private, protected 这三种属性的成员可以按任意顺序出现 D、没有用 public, private, protected 定义的成员是公有成员 14、已知:p 是一个指向类 A 数据成员 m 的指针,A1 是类 A 的一个对象。如果要给 m 赋值为 5, ( )是正确的。 A、A1.p=5 B、A1-p

10、=5 C、A1.*p=5 D、*A1.p=5 15、已知:类 A 中一个成员函数说明如下: void Set(A 其中,A ptr 应该是( )。 A、指向字符型常量的指针 B、指向字符的常量指针 C、指向字符变量的指针 D、指向字符串的常量指针 17、采用函数重载的目的在于: A、实现共享 B、减少空间 7C、提高速度 D、使用方便,提高可读性 18、有关类和对象的说法下列不正确的是( )。 A、对象是类的一个实例 B、任何一个对象只能属于一个具体的类 C、一个类只能有一个对象D、类与对象的关系和数据类型和变量的关系相似 19、有以下类的说明,请指出错误的地方() 。Class CSampl

11、eint a=2.5; ACSample(); Bpublic:CSample(int val); CCSample(); D;20、在类的定义形式中,数据成员、成员函数和( )组成了类定义体。 A、成员的访问控制信息B、公有消息C、私有消息D、保护消息二、填空题二、填空题1 通常的拷贝初始化构造函数的参数是_ 2 在 C+中函数参数的传递方式有三种,分别是:_、_和 _。 3 任何类中允许有三种访问权限的数据,这三种访问权限分别是 _、_和_。 4 类中数据成员和成员函数的默认类型为_ 5 在类内部定义的_和_数据不能被不属于该类的成员函数来存取, 定义为_的数据,可以在类外部进行存取。 6

12、 _是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成 员进行初始化并执行对象的其他内部管理操作。 7 一个类中有_个析构函数。 8 _成员函数中不能直接引用类中说明的非静态成员。 9 已知类 Sample 中的一个成员函数说明如下: void Set(Sample 其中,Sample 8class Sample public:Sample () cout using namespace std; class sample private:int n;static int k; public:sample(int i) n=i; k+; ;void disp(); ; void

13、sample: disp () cout using namespace std; class sample int x; public:void setx( int i ) x=i; int putx( ) return x; ; int main ( )9 sample *p; sample A 3; A0.setx(5); A1.setx(6); A2.setx(7); for (int j=0 ; jputx( ) using namespace std; class A public:A( ) cout using namespace std; class A public: int

14、 n; ; class B:virtual public A; class C:virtual public A; class D:public B,public C int getn()return B:n; ; int main() D d; d.B:n=10; d.C:n=20; cout using namespace std; class A private: int x; public: A(int x1) x=x1; void print() cout using namespace std; class A public: A(int i,int j)a=i;b=j;void move (int x,int y) a+=x;b+=y;void show() cout using namespace std; class Lprotected: int x; public:L(int a)x=a; ; class X:public Lpublic: X(int a):L(a); int GetX()return x; ; class Y:public Lpublic: Y(int a):L(a); int GetX()return x; ; class Z:public X,publ

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号