文档详情

面向对象程序设计复习.doc

发布:2017-02-10约3.15千字共6页下载文档
文本预览下载声明
面向对象程序设计复习 1.由c++目标文件连接而成的可执行文件的缺省扩展名为( B )。 A.cpp B.exe C.obj D.lik 2.下列哪个是C++语言的有效标识符?( A )。 A._No1 B.No.1 C.12345 D.int 3.有关函数重载的要求哪一个是正确的( D )。 A.必须保证参数类型和返回值类型均不同。 B.必须保证返回值类型不同。 C.必须保证参数的数量不同。 D.必须保证参数类型或数量不同。 4.下列关于析构函数的描述中,错误的是( A )。 A.析构函数名与类名完全相同;   B.析构函数无返回类型 C.一个类只有一个析构函数;   D.注销对象时,系统自动调用析构函数 5. int x,y,n,k; 下面程序段的功能是备选答案中的( B )。 cinxn; k=0; do{ x/=2; k++; }while(kn); y=1+x; k=0; do{ y=y*y; k++; }while(kn); coutyendl; 备选答案: A. B. C. D. 6.下面对于友元函数描述正确的是( C )。 A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数 C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员。 7.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( C )。 A.派生类的对象可以赋给基类的对象; B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员;D.派生类的对象的地址可以赋给指向基类的指针 8.( D )不是构造函数的特征。 A.构造函数的函数名与类名相同; B.构造函数可以重载; C.构造函数可以设置缺省参数; D.构造函数必须指定类型说明。 9.下列不是类成员访问权限控制属性的是( D )。 A.公有类型 B.私有类型 C.保护类型 D.友元类型 10.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( C )。 A.友元函数 B.虚函数 C.构造函数 D.析构函数 11.下面有函数同名覆盖的说法中正确的是( D ) A.函数同名覆盖就是函数重载;   B.同名覆盖函数的形参个数必须不同; C.同名覆盖函数必须有不同的形参列表 D.同名覆盖函数存在与有继承关系的类中; 12.如果用p.a的形式访问派生类对象p的基类成员a,其中a可以是( D ) A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成员 13.应在下列程序划线处填入的正确语句是( C ) #include iostream.h class Base { public: void fun(){coutBase::funendl;} }; class Derived:public Base { void fun() { //显示调用基类的函数fun() coutDerived::funendl; } }; A.fun(); B.Base.fun(); C.Base::fun(); D.Base-fun(); 14、在矩形类中重载关系运算符=,采用友元,比较的依据是矩形面积的大小。重载算术运算符+=,采用成员函数,更新矩形对象,其长与宽,分别添上形参矩形的长与宽。重载算术运算符+,利用构造函数,采用友元。 class CRect{ int length,witdth; public: CRect(int l,int w){ length=l; width=w; } friend int operator=( CRect r1, CRect r2){ return r1.length*r1.width = r2.length*r2.width ; //比较面积 } void operator+=( CRect r){ length+=r.length ; //求长 width+=r.length ; //求宽 } friend operator+( CRect r1, CRect r2){ return CRect( r1.length+r2.
显示全部
相似文档