- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品 Word 可修改 欢迎下载
精品 Word 可修改 欢迎下载
精品 Word 可修改 欢迎下载
C++程序设计模拟试卷(四)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中
只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无
分。
1. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中()
A. 都是虚函数
B. 只有被重新说明时才是虚函数
C. 只有被重新说明为virtual时才是虚函数
D. 都不是虚函数
答案:A
解析:(P170)在基类声明为virtual的函数为虚函数,在派生类中只要有相同的函数(函数名相
同、返回值相同、形参类型和个数相同)即使不用virtual说明,也都是虚函数。
2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()
A. const char *p=“ABCD”;
B. char *const p=“ABCD”;
C. char const *p=“ABCD”;
D. const char * const p=“ABCD”;
答案:D
解析:(P12)const char *p说明禁止通过p修改所指向的数据。char * const p则说明不能修改
指针p的地址。因此const char * const p=“ABCD”;它禁止修改指针p本身,又禁止修改p所指
向的数据。
3. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为()
A. 1
B. 2
C. 4
D. 5
答案:B
解析:(exp1,exp2)、(exp3,exp4,exp5)表示是两个逗号表达式,值是最后一个值,相当于两个
参数。因此实参的个数是2。
4. 设有函数模板
template class Q
Q Sum(Q x,Q y)
{return (x)+(y);}
则下列语句中对该函数模板错误的使用是()
A. Sum(10,2);
B. Sum(5.0,6.7);
C. Sum(15.2f,16.0f);
D. Sum(“AB”,”CD”);
答案:D
解析:(P40)由Q Sum(Q x,Q y)可知形参和函数返回值都是同一种数据类型。A、B、C三项都正确
。而D项用字符串作为实参,字符串的操作与数值类型不同,要用特殊方法进行字符串的连接和
运算。
5. 类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针
,则p-A::func()将()
A. 调用类A中的函数func()
B. 调用类B中的函数func()
C. 根据p所指的对象类型而确定调用类A中或类B中的函数func()
D. 既调用类A中函数,也调用类B中的函数
答案:A
解析:(P117)指向类成员指针的使用,A::func()是明确调用A类的func函数,所以不管p指向基
类或者派生类对象,都执行基类虚函数。注意p-A::func()和p-fun();进行区分。如果使用p-
fun(),因为p指向派生类对象,由动态多态性可知要调用派生类的虚函数。
6. 在面向对象的程序设计中,首先在问题域中识别出若干个 ()
A. 函数
B. 类
C. 文件
D. 过程
答案:B
解析:(P31)面向过程的和面向对象都具有、函数、文件和过程这些概念,而面向对象程序才有
类和对象的特征。所以选择B。
7. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()
A. f1和f2都是静态函数
B. f1不是静态函数,f2是静态函数
C. f1是静态函数,f2不是静态函数
D. f1和f2都不是静态函数
答案:C
解析:(P107)普通成员函数可以调用静态函数,相反静态函数不能调用普通成员函数,这与普通
函数与常成员函数相同。因此选择C项。
8. 下列有关模板和继承的叙述正确的是 ()
A. 模板和继承都可以派生出一个类系
B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定
C. 从动态性能看, 继承类系比模板类系具有更多的动态特性
D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系
答案:D
解析:(P145)类是相同类型事物的抽象,具有不同的操作。而模板是不同类型的事物,具体相同
的操作的抽象。类模板的实例化后,各个对象没有任何关系。而类对象是通过派生、继承等关系
的关系。
9. 有关C++编译指令,以下叙述正确的是()
A. C++每行可以写多条编译指令
B. #include指令中的文件名可含有路径信息
C. C++的编译指令可以以#或//开始
D. C++中不管#if后的常量表达式是否为
文档评论(0)