首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main.epp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main.epp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。
admin
2016-08-19
37
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,此工程中包含一个源程序文件main.epp,其中有类Book(“书”)和主函数main的定义。程序中位于每个“//ERROR****found****”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:
书名:C++语句程序设计总页数:299
已把“C++语言程序设计”翻到第50页
已把“c H语言程序设计”翻到第51页
已把“C++语言程序设计”翻到第52页
已把“C++语言程序设计”翻到第51页
已把书合上。
当前页:0
注意:只修改每个“//ERROR*****found****”下的那一行,不要改动程序中的其他内容。
1 #include
2 us ing namespace std;
3 clasS Book{
4 char*title;
5 int num pages;//页数
6 int cur page ;//当前打开页面的页码,0表示书未打开
7 public:
8 //ERROR**********found**********
9 Book(const char*theTitle,int pa-ges)num_pages(pageS)
10 {
11 title=new char[strlen(theTi-tle)+1];
12 strcpy(title,theTitle);
13 cout<
14 <<"总页数:"<
15 }
16 ~Book(){delete[]title;)
17 bool isClosed()const{return cur page==1;} //书合上时返回true,否则返回false
18 bool isOpen()const{return!isClosed();}//书打开时返回true,否则返回false
19 int numOfPages()const{return num_pages;} //返回书的页数
20 int currentPage()const{return curpage;} //返回打开页面的页码
21 //ERROR **********found**********
22 void openAtPage(int page_no)cons t{ //把书翻到指定页
23 cout<
24 if(page_no<1 || page_no>num_pa-ges){
25 cout<<"无法翻到第"<
26 close();
27 }
28 else,{
29 cur_page=page_no;
30 cout<<"已把“"<
3l }
32 }
33 void openAtPrevPage(){openAtPage(cur_page-1);)//把书翻到上一页
34 void openAtNextPage(){openAtPage(cur_page+1);)//把书翻到下一页
35 void close(){//把书合上
36 cout<
37 if(isClosed())
38 cout<<"书是合上的。";
39 else{
40 //ERROR **********found**********
41 num pages=0;
42 cout<<"已把书合上。";
43 }
44 cout<
45 }
46 };
47 int main(){
48 Book book("C++语言程序设计",299);
49 book.openAtPage(50);
50 book.openAtNextPage();
51 book.openAtNextPage();
52 book.openAtPrevPage();
53 book.close();
54 cout<<"当前页:"<
55 return 0;
56 }
选项
答案
(1)Book(const char*theTitle,int pages):Hum_pages(pages) (2)void openAtPage(int page_no){//把书翻到指定页 (3)cur_page=0;
解析
(1)主要考查考生对构造函数的掌握,构造函数的成员列表初始化法要注意它的格式,即成员列表前要有标识符“:”,因此语句改为:Book(eonst char*theTitle,int pages):nun_pages(pages)。
(2)主要考查考生对const函数的掌握,在函数体中可以看到有语句cur_page=page_no,即cur_page的值发生改变,因此该函数不是const函数。
(3)主要考查考生对成员函数的掌握,题目要求输出的最后一条是“当前页:0”,可知主函数中调用close函数后当前页为0,因此应该是cur_page=0;。
转载请注明原文地址:https://www.kaotiyun.com/show/zZNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有语句:charstr1[]="string",str2[8],*str3,*str4="string";则下列对库函数strcpy()调用不正确的是()。
若有以下程序:#include<iostream>usingnamespacestd;intmain(){inta=3;cout<<(a+=a-=a+A)<<end1;
下列关于模板的说法正确的是
若a=12,b=14,c=0,则表达式“((y=(a>B)?a:B)>C)?y:c”的值为【】。
当使用带参数的操作子时,程序中必须包含头文件______。
下面叙述错误的是()。
下列for语句的循环次数为【】。for(inta=0,b=1;b&&a<5;a++);
【】是当前软件开发环境中富有特色的研究工作和发展方向。
下列叙述中正确的是
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
随机试题
核象右移主要见于
A、2.23B、2.22C、2.54D、2.53E、2.512.5348可修约为()
最可能的诊断是下列哪项检查无必要
根据《工程建设标准强制性条文》(水利工程部分),下列关于砌石工程施工的说法正确的是()。
关于个人汽车贷款的原则,下列说法中错误的是()。
罗尔定理:设函数f(x)满足条件:(1)在闭区间[a,b]上连续;(2)在开区间(a,b)内可导;(3)f(a)=f(b),则在(a,b)内至少存在一点ξ,使得f’(ξ)=0。证明这个定理并说明其几何意义。
下列关于公告与通告的区别表述错误的是()。
将下列作品按《四库全书》“经、史、子、集”四部分分类,排列正确的一项是:①《硕鼠》②《赤壁之战》③《鱼我所欲也》④《庖丁解牛》⑤《孔雀东南飞》⑥《茅屋为秋风所破歌》⑦《五蠹》⑧
Completetheformbelow.WriteNOMORETHANTHREEWORDSforeachanswer.
Forthispart,youareallowed30minutestowriteashortessaybasedonthepicturebelow.Youshouldfocusonthemeasuresto
最新回复
(
0
)