C 复习题 答案.docx
- 文档编号:5041417
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:72
- 大小:51.41KB
C 复习题 答案.docx
《C 复习题 答案.docx》由会员分享,可在线阅读,更多相关《C 复习题 答案.docx(72页珍藏版)》请在冰豆网上搜索。
C复习题答案
C++总复习题
一、单项选择题
1.说明虚函数的关键字是()。
A.inlineB.virtualC.defineD.static
2.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。
A.mainB.MAINC.nameD.function
3.cout是某个类的标准对象的引用,该类是()。
A.ostreamB.istreamC.stdoutD.stdin
4.如果在类外有函数调用CPoint:
:
func();则函数func()是类CPoint的()。
A.私有静态成员函数B.公有非静态成员函数C.公有静态成员函数B.友元函数
5.如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为()。
A.publicB.protectedC.privateD.static
6.一个类的所有对象共享的是()。
A.私有数据成员B.公有数据成员C.保护数据成员D.静态数据成员
7.动态联编所支持的多态性称为()。
A.虚函数B.继承C.编译时多态性D.运行时多态性
8.定义类模板时要使用关键字()。
A.constB.newC.deleteD.template
9.对虚基类的定义()。
A.不需要使用虚函数B.必须使用虚函数C.必须使用privatD.必须使用public
10.类型转换函数()。
A.不能带有参数B.只能带一个参数C.只能带2个参数D.只能带3个参数
参考答案:
1.B2.A3.A4.C5.C6.D7.D8.D9.A10.A
1.下面有关重载函数的描述中,正确的是()。
A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同
C)重载函数必须具有不同的形参表D)重载函数名可以不同
2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
A)void~MyClass();B)~MyClass(intn);C)MyClass();D)~MyClass();
3.()是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
A)模板B)类C)对象D)函数
4.下面关于静态成员函数的途术中错语的是()。
A.静态成员函数可以有返回值B.this指针可以指向静态成员函数
C.静态成员函数可以具有指针参数D.静态成员函数可有具有返回值类型
5.定义类模板时要使用关键字()。
A.privateB.publicC.deleteD.template
6.下列是重载乘法运算符的函数原型声明,其中错误的是()。
A)MyClassoperator*(double,double);B)MyClassoperator*(double,MyClass);
C)MyClassoperator*(MyClass,double);D)MyClassoperator*(MyClass,MyClass);
7.以下()成员函数表示纯虚函数。
A)virtualintfun(int)B)voidfun(int)=0C)virtualvoidfun()=0D)virtualvoidfun(int){}
8.关于纯虚函数,下列表述中正确的是()。
A)纯虚函数的声明总是以"=0"结束B)含有纯虚函数的类可以定义对象
C)含有纯虚函数的类是抽象类D)上面都是错误的
9.()解决二义性问题。
A.只能使用作用域分辨操作符B.只能使用虚基类
C.使用作用域分辨操作符或虚基类D.上面都不能
10.实现编译时的多态性要使用()。
A)重载函数B)析构函数C)构造函数D)虚函数
参考答案:
1.C2.D3.A4.B5.D6.A7.C8.C9.C10.A
1.下列关于C++函数的说明中,正确的是()。
A)内联函数就是定义在另一个函数体内部的函数B)函数体的最后一条语句必须是return语句
C)调用一个函数之前,如果还没有定义这个函数,必须先声明其原型
D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的无参构造函数。
A)voidMyClass();B)~MyClass(intn);C)MyClass();D)~MyClass();
3.下列叙述中,错误的是()。
A)派生类可以使用private派生B)对基类成员的访问必须是无二义性的
C)基类成员的访问能力在派生类中维持不变D)赋值兼容规则也适用于多继承的组合
4.当一个类的某个函数被说明为virtual时,该函数在该类及其所有派生类中()。
A.都是虚函数B.只有被重新说明为vittual时才是虚函数C.都不是虚函数D.上面都不正确
5.派生类的构造函数的成员初始化表中,不能包含()。
A)基类的构造函数B)派生类中子对象的初始化C)基类中子对象的初始化D)派生类中一般数据成员的初始化
6.下列是重载加法运算符的函数原型声明,其中错误的是()。
A)MyClassoperator+(double,double);B)MyClassoperator+(double,MyClass);
C)MyClassoperator+(MyClass,double);D)MyClassoperator+(MyClass,MyClass);
7.派生类中的成员不能直接访问基类中的()成员。
A)publicB)privateC)virtualD)protected
8.实现运行时的多态性要使用()。
A)重载函数B)析构函数C)构造函数D)虚函数
9.如果在类MyClass的外面使用函数调用MyClass:
:
f();则函数f()是类MyClass的()。
A.静态成员函数B.非静态成员函数C.友元函数D.前面都不正确
10.由于常对象不能被更新,因此()。
A)通过常对象只能调用它的常成员函数B)通过常对象只能调用静态成员函数
C)常对象的成员都是常成员D)通过常对象可以调用任何不改变对象值的成员函数
参考答案:
1.C2.C3.C4.A5.C6.A7.B8.D9.A10.A
1.下列对类的构造函数和析构函数描述正确的是()。
A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数可以重载D)构造函数不能重载,析构函数不能重载
2.在函数定义前加上关键字“inline”,表示该函数被定义为()。
A)重载函数B)内联函数C)成员函数D)普通函数
3.下面有关重载函数的说明中,()是正确的。
A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同
C)重载函数必须具有不同的形参列表D)重载函数名可以不同
4.下列有关类与对象的说法中,()是不正确的。
A)对象是类的一个实列B)任何一个对象只能属于一个具体的类
C)一个类只能有一个对象D)类和对象的关糸和数椐类型与变量的关糸类似
5.已知:
Print()函数是一个类的常成员函数,它无返回值,下列表示中,正确的是()。
A)voidPrint()const;B)constvoidPrint();C)voidconstPrint();D)voidPrint(const)
6.假定Myclass为一个类,那么下列的函数说明中()为该类的析构函数。
A)void~Myclass();B)~Myclass(intn);C)Myclass();D)~Myclass()
7.下面类的定义中有()处错误。
classmyclass
{
inti=0;
public:
voidmyclass(){};
~myclass(value);
};A)1B)2C)3D)4
8.说明虚函数的关键字是()。
A.inlineB.virtualC.defineD.static
9.cout是某个类的标准对象的引用,该类是()。
A.ostreamB.istreamC.stdoutD.stdin
10.如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为()。
A.publicB.protectedC.privateD.static
11.定义类模板时要使用关键字()。
A.constB.newC.deleteD.template
12一个类的所有对象共享的是()。
A.私有数据成员B.公有数据成员C.保护数据成员D.静态数据成员
13.静态成员函数没有()。
A.返回值B.this指针C.指针参数D.返回类型
14.解决多重继承中二义性问题的方法有()。
A.只能使用作用域分辨操作符B.使用作用域分辨操作符或赋值兼容规则
C.使用作用域分辨操作符或虚基类D.使用虚基类或赋值兼容规则
15.如果在类CTest的外面函数调用CTest:
:
f();则函数f()是类CTest的()。
A.静态成员函数B.非静态成员函数C.友元函数D.前面都不正确
参考答案:
1.A)2.B)3.C)4.C)5.A)6.D)7.C)8.B)9.A)10.C)11.D)12.D)13.B)14.C)15.A)
1.类的析构函数的作用是()。
A)作为类的一般成员函数B)类的初始化C)对象的初始化D)对象的删除
2.一个类的友元函数或友元类可以访问该类的()。
A)私有成员B)保护成员C)公有成员D)所有成员
3.下列关于成员函数特征的描述中,()是错误的。
A)成员函数一定是内联函数B)成员函数可以重载
C)成员函数可以设置参数的默认值D)成员函数可以是静态的
4.下列函数中,()不是类的成员函数。
A)构造函数B)析构函数C)友元函数D)拷贝构造函数
5.下列对派生类的描述中,()是错误的。
A)一个派生类可以作为另一个派生类的基类B)派生类至少有一个基类C)派生类的成员除了它自己的成员外,还包含了它的基类的成员D)派生类中继承的基类成员的访问权限到派生类中保持不变
6.下列的描述中,()是错误的。
A)公有继承时基类中的public成员在派生类中仍是public的
B)公有继承时基类中的private成员在派生类中仍是private的
C)公有继承时基类中的protected成员在派生类中仍是protected的
D)私有继承时基类中的public成员在派生类中仍是private的
7.下列虚基类的声明中正确的是()。
A)classvirtualB:
publicAB)virtualclassB:
publicA
C)classB:
publicAvirtualD)classB:
virtualpublicA
8.若类A和类B的定义如下:
classA
{inti,j;
public:
A(intm,intn):
i(m),j(n){}
intGeti(){returni;}
};
classB:
publicA
{intk;
public:
B(intm,intn,intu):
A(m,n),k(u){}
voidMake(){k=i*j;}
};
intmain()
{Bb(1,2,3);
return0;
}则上述定义中,()是非法的表达式.A)k=i*j;B)intk;C)returni;D)voidMake()
9.若有以下程序:
#include
usingnamespacestd;
classA
{public:
inta;
A(){a=10;}
};
classA1:
publicA1.
{public:
A1(){a=a+1;}\
};
classA2:
publicA
{public:
A2(){a=a+2;}
};
classB:
publicA1,publicA2
{public:
B(){}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习题 答案