您好,欢迎访问三七文档
C++复习基础习题课1、每个类()构造函数A.只能有一个B.只可有公有的C.可以有多个D.只可有缺省的答案为C2、已知类A中的一个成员函数的说明如下:voidSet(A&a);则该函数的参数“A&a”的含义是()A.指向A的指针为aB.将变量a的地址赋给类AC.类A对象引用a用作函数的形参D.变量A与a按位与后作函数参数答案为C3、下列特性中,C与C++共有的是()A.继承B.封装C.多态性D.函数定义不能嵌套答案为D4、假定AB为一个类,则执行ABx;语句时将自动调用该类的()A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数答案为B5、如果类A被说明成类B的友元,则()A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元答案为D6、下列不是类的成员函数的是()A.构造函数B.析构函数C.友元函数D.拷贝构造函数答案为C7、拷贝(复制)构造函数的作用是()A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象答案为C8.若要把函数voidf()定义为类aClass的友元函数,则应该在类aClass的定义中加入的语句是()A.voidf();B.staticvoidf();C.friendf();D.friendvoidf();答案为D9.下列关于析构函数的描述中,错误的是()A.类中有且仅有一个析构函数B.析构函数可以有形参C.析构函数没有函数类型D.析构函数在对象消失时被自动执行答案为B10.下面对静态数据成员的描述中,正确的是()A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用答案为D11.下面关于友元函数的描述中,正确的是()A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员答案为C12.下列关于new运算符的描述中,错误的是()A.使用运算符new创建对象组时必须定义初始值B.使用运算符new创建对象时,会调用类的构造函数C.运算符new可以用来动态创建对象和对象数组D.使用new运算符创建的对象可以运用运算符delete删除答案为A13.下列对类的构造函数和析构函数的描述中,正确的是()A.构造函数可以重载,析构函数不能B.构造函数不能重载,析构函数可以C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载答案为A14.在C++中,数据封装要解决的问题是()A.数据的规范化B.便于数据转换C.避免数据丢失D.防止不同模块之间数据的非法访问答案为D15.假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数.A.void~MyClass();B.~MyClass(intn);C.MyClass();D.~MyClass();答案为D16.为了使类中的成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()A.publicB.protectedC.privateD.static答案为A17.下列对与拷贝初始化构造函数的描述中,正确的()A.在C++语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数B.必须为每个类定义拷贝初始化构造函数C.如果要使用拷贝初始化构造函数,则必须在类中定义D.当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数答案为A18.对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句(划线处)应该是()classMyClass{public:MyClass(intx){n=x;}voidSetValue(intn1){n=n1;}private:intn;};intf(){MyClass*ptr=newMyClass(45);__________;}A.MyClass(50)B.SetValue(50)C.ptr-SetValue(50)D.ptr-n=50答案为C19.类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}setVariable(inti){value=i;}private:intvalue;};则以下各项对如下语句序列的描述中,正确的是().MyClass*p,my;p=&my;A.语句”p=&my;”是把对象my赋值给指针变量pB.语句”MyClass*p,my;”会调用两次类MyClass的构造函数C.对语句”*p.SetVariable(5)”的调用是正确的D.语句”p-SetVariable(5)”与语句”my.SetVariable(5)”等价答案为D20.下面类的定义,有()错误.classMyClass{inti=0;public:voidMyClass();~MyClass(intValue);};A.1B.2C.3D.4答案为C21.定义析构函数时,应该注意()A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句答案为C22.构造函数不具备的特征的是()A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定返回类型答案为D23.类的析构函数是在什么时间被自动调用的()A.类创建时B.创建对象时C.删除对象时D.不自动调用答案为C24.对于任何一个类,析构函数最多有()个A.0B.1C.2D.325.通常,拷贝构造函数的参数是()A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名答案为B答案为C26.面向对象程序设计中的数据隐藏指的是()A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性答案为D27.下列关于类的访问权限的描述中,错误的是().A.说明为公有的成员可以被程序中的任何代码访问B.说明为私有的成员只能被类的成员和说明为友元类的成员函数访问C.说明为保护的成员,除了能被本身的成员函数和说明为友元类的成员函数访问外,该类的派生类的成员也可以访问D.类的所有成员都可以被程序中的任何代码访问答案为D28.一个类的友元函数或友元类可以访问该类的()A.私有成员B.保护成员C.公有成员D.所有成员答案为D29.下列关于成员函数特征的描述中,错误的是()A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的答案为A30.下面对类中静态数据成员的描述中,正确的是()A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员D.静态数据成员不能通过类的对象调用答案为A31.下列虚基类的声明中,正确的是()。A.classvirtualB:publicAB.virtualclassB:publicAC.classB:publicAvirtualD.classB:virtualpublicA答案为D32.C++类体系中,不能被派生类继承的有()。A.构造函数B.虚函数C.静态成员函数D.赋值操作函数33.下列说法错误的是()。A.公有继承的基类中的public成员在派生类中仍是public的B.公有继承的基类中的private成员在派生类中仍是private的C.私有继承的基类中的public成员在派生类中变成private的D.保护继承的基类中的public成员在派生类中变成protected的答案为A答案为B34.下列对基类和派生类关系的描述中,错误的是()。A.派生类是基类的具体化B.派生类是基类的子集C.派生类是基类定义的延续D.派生类是基类的组合答案为B35.C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。A.复用B.继承C.封装D.引用答案为B36.C++类体系中,能被派生类继承的是()。A.构造函数B.虚函数C.析构函数D.友元函数答案为B37.在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是()。A.一元非成员运算符B.一元成员运算符C.二元非成员运算符D.二元成员运算符答案为B38.关于多继承二义性的描述,()是错误的。A.派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性B.一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性C.解决二义性最常用的方法是作用域运算符对成员进行限定D.派生类和它的基类中出现同名函数时,将可能出现二义性答案为D39.下列对派生类的描述中,()是错误的。A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类成员D.派生类中继承的基类成员的访问权限到派生类保持不变答案为D40.若类A和类B的定义如下:classA{inti,j;public:intgeti(){returni;}};classB:publicA{intk;public:voidmake(){k=i*j;}};则上述中,()是非法的表达式。A.k=i*jB.intk;C.returni;D.voidmake();答案为A41.关于公有继承,下列说法错误的是()。A.基类的公有成员和保护成员被继承后作为派生类的公有成员和保护成员。B.派生类的其他成员可以直接访问基类的公有成员和保护成员。C.派生类的对象可以访问基类的私有成员。D.派生类成员和对象都无法访问基类的私有成员。答案为C42.下列说法中错误的是()。A.公有继承时基类中的public成员在派生类中仍是public的;B.公有继承时基类中的private成员在派生类中仍是private的;C.私有继承时基类中的public成员在派生类中是private的;D.保护继承时基类中的public成员在派生类中是protected的;答案为B43.在公有继承中,基类中的公有成员作为派生类的()。A.公有成员B.私有成员C.保护成员D.私有成员函数答案为A44.基类中的()不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。A.公有成员B.私有成员C.保护成员D.私有成员函数答案为C45.设置虚继承的声明中,正确的是()。A.简化程序B.消除二义性C.提高运行效率D.减少目标代码答案为B46.下面叙述错误的是()。A.基类的protected成员在派生类中仍然是protectedB.基类的protected成员在public派生类中仍然是protected的C.基类的protected成员在private派生类中是private的D.基类的protected成员不能被派生类的对象访问答案为A47.派生类的对象对它的基类成员中()是可以访问的。A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员答案为A48.下列对派生类的描述中,错误的是()。A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的缺省继承方式是privateD.派生类只含有基类的公有成员和保护成员答案为D49.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自
本文标题:总结基础知识习题课
链接地址:https://www.777doc.com/doc-2438143 .html