首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请
admin
2017-02-21
41
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有类Clock(“时钟”)的定义和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Initial times are
0 d:0 h:0 m:59 s
After one second times are
0 d:0 h:1 m:0 s
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include<iostream>
using namespace std;
class clock
{
public:
Clock(unsigned long i=0);
void set(unsigned long i=0);
void print()const;
void tick(); //时间前进一秒
Clock operator++();
private:
unsigned long total_sec,seconds rminutes,hours,days;
};
Clock∷Clock(unsigned long i)
:total_sec(i),seconds(i%60),
minutes((i/60)%60),
hours((i/3600)%24),
days(i/8 6400){)
void Clock∷set(unsigned long i)
{
total sec=i;
seconds=i%60;
minutes=(i/60)%60;
hours=(i/3600)%60;
days=i/86400;
}
//ERROR *******found*******
void Clock∷print()
{
cout <<days<< "d:" <<hours<<"h:"
<<minutes<< "m:" <<seconds<<"s"<<end1;
}
void Clock∷tick()
{
//ERROR *******found*******
set(total sec++);
}
Clock Clock∷operator++()
{
tick();
//ERROR *******found*******
return this;
}
int main()
{
Clock ck(59);
cout<<"Initial times are"<<end1;
ck.print();
++ck;
cout<<"After 0ne second times are"<<end1;
ck.print();
retuEn 0;
}
选项
答案
(1)void Clock∷pnnt()const (2)set(++total_sec); (3)return * this;
解析
(1)主要考查考生对成员函数的掌握,由Clock类中对函数print的声明void print()const;可知,在定义print函数时少了const。
(2)主要考查考生对++操作的掌握,根据函数要求,时间要先前进一秒,再调用函数set,因此total_see++应改为++total_sec。
(3)主要考查考生对this指针的掌握,函数要求返回值Clock,即返回一个类,而不是指针,因此使用*this。
转载请注明原文地址:https://kaotiyun.com/show/eBAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是#include<iostream.h>intb=2;intfunc(int*a){b+=*a;return(b);}voidmain()
在不同文件的函数中,对非静态全局变量的引用要加的关键字是()。
下面程序的运行结果是【】和【】。#include<iostream.h>#defineN10#defines(x)x*x#definef(x)(x*x)
下面程序的结果是#include"iostream.h"voidmain(){char*str;str="test!";cout<<str
下列叙述中,正确的是
下列关于构造函数的描述中,错误的是()。
函数定义为Fun(int&i),变量定义n=100.则下面调用正确的是
下面不属于软件工程3个要素的是
数据流图的类型有______和事务型。
写出执行完下列代码段之后指定变量的值:boolx=true,y=false,z=false;x=x&&y||z;y=x||y&&z;z=!(x!=y)||(y==z);则x=false,y=【】,z=【
随机试题
下列关于保税仓库的叙述,不正确的是()
糖皮质激素冲击疗法适用于
患者,男,20岁。输血10分钟后出现头胀、四肢麻木、腰背部剧痛、呼吸急促、血压下降、黄疸。患者尿液中可含有
引起脑萎缩的最常见原因是( )。
治疗原则主要讨论治疗疾病的基本原则和一些具体的治疗方法:如早治防变、治病求本、扶正祛邪、调整阴阳、调理气血、调理脏腑以及因时、因地、因人制宜等内容。心脏病患者患感冒后先治疗感冒,属于
三国两晋南北朝时期随着社会政治经济关系的变化,法律内容也有所发展,主要表现在礼法结合进一步发展。下列哪些情形属于具体表现?()
下列关于工程施工合同索赔,程序描述正确的有( )。
2017年11月,A公司赊销一批商品给B公司,含税价为15万元。由于B公司发生财务困难,无法偿付该应付账款。2018年6月1日,A公司与B公司进行债务重组,A公司同意B公司以其普通股3万股抵偿该项债务,该股票每股面值为1元,每股市价为4元。A公司对该项债权
通货紧缩是指由于货币供应量的减少或货币供应量的增长滞后于生产增长的幅度,以致引起对商品和劳务的总需求小于总供给,从而导致物价总水平下降的现象。据此回答下题:近年来,我国为化解通货紧缩采取了如下有效措施_______。①中国人民银行连续降息②
下列说法不正确的是____________。
最新回复
(
0
)