首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
admin
2019-06-05
48
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注释//********1********后添加适当的语句。
(2)完成构造函数,分别给year、month、day赋值,
请在注释//********2********后添加适当的语句。
(3)完成重载符号“+=”的定义,请在注释//********3********后添加适当的语句。
(4)完成print()打印函数,如2008年8月8日到屏幕和文件modi3.txt格式相同,请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include<iostream.h>
#include<fStream>
#include<iomanip>
#include<cmath>
USing namespace std;
void WriteFile(int c)
{
ofStream out1;
out1.open("modi3.txt",ios_base::app);
out1<(c<<’ ’;
out1.close();
}
void WriteFile(char*str)
{
ofstream out1;
out1.open("modi3.txt",ios
base::app);
out1<<str:
out1.close():
}
void ClearFile()
{
ofstream out1;
out1.open("modi3.txt");
out1.close();
}
class Date
{
public:
Date(int y,int m,int d)
{
//********2********
}
void print()const;
//********3********
{
month+=m;
int i=month/12;
int j=month%12;
if(i==0)
{
year+=(i-1),
month=12;
}
else
{
year+=i;
month=j;
}
return*this;
}
private:
//********1********
};
void Date::Print()const
{
//********4********
WriteFile(year);
WriteFile("年");
WriteFile(month);
WriteFile("月");
WriteFile(day);
WriteFile("日");
}
int main()
{
clearFile();
Date oly_day(2008,8,8);
oly_day+=3;
oly_day.print();
return0;
}
选项
答案
(1)添加语句:int year,month,day; (2)添加语句:year=y;month=m;day=d; (3)添加语句:Date & operator+=(int m) (4)添加语句:cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
解析
(1)题目1要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第1个标识下添加“int year,month,day;”。
(2)题目2要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(int y,int m,int d)”的构造函数中添加给year、month、day赋值的语句,即在第2个标识下添加“year=y;month=m;day=d;”。
(3)题目3要求“完成重载符号“+=”的定义”。在C++中,运算符重载的定义方法是定义一个重载运算符的函数,格式为函数operator+~载运算符号+,所以这里补全“Date&operator+=(int m)”。
(4)题目4要求“完成函数print()打印函数”。在C++中的print()函数中补全其打印功能,即在第四个标识下添加“cout<<year<<"年"<<month<<"月"<<daV<<"日"<<endl;”。
转载请注明原文地址:https://kaotiyun.com/show/u18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于指针的说法中错误的是()。A)在指针定义的同时可以对其进行初始化B)指针根据其所指向变量的类型的不同,所占用内存大小也不同C)指针中存放的是内存单元的地址D)相同类型的指针之间可以相互赋值
有如下程序:#include<iostream>usingnamespacestd;classTlestClass{intn;public:TestClass(intk):n(k){
A、 B、 C、 D、 D选项A)、B)、C)叙述的都是链式存储结构具有的特点,顺序结构每个结点只包含自身的信息域,且逻辑上相邻的结点物理上也是相邻的。因此其插入、删除运算操作木方便,需移动大量的结点。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
结构化程序所要求的基本结构不包括()。A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构
有如下程序:#include<iostream>usingnamespacestd;classSac{intn;public:Sac():n(4){cout<<n;}Sac(intk):n(
下列程序运行时的输出结果是______。#include<iostream>usingnamespacestd;voidXfun(int&,int&);intmain(){inta=3,b=4;
若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是()。A)ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B)fstream
在对函数进行原型声明时,下列语法成分中,不需要的是()。A)函数返回类型B)函数参数列表C)函数名D)函数体
随机试题
关于荷马史诗的表述,正确的是()
函数f(x)=lnx+1在区间[1,e]上满足拉格朗日中值定理的ξ=________.
具有清热凉血、活血散瘀功效的药物是
下列对桥梁石砌墩台砌筑方法的叙述有误的是()。
背景材料:某写字楼工程,建筑面积为8640m2,建筑高度为40m,地下1层,基坑深度为4.5m,地上11层,钢筋混凝土框架结构。施工单位中标后组建了项目部,并与项目部签订了项目目标管理责任书。基坑开挖前,施工单位委托具备相应资质的第三方对基坑工程进行现
下列关于幼儿全面发展的说法错误的是()。
预防龋齿的重要措施是()
执行下列程序后,变量y的值是()。SETTALKOFFCLEARx=2000DOCASECASEx1000y=x*0.2CASEx>1500y=x*0.3
Oneofthebestwaysforpeopletokeepfitisto______healthyeatinghabits.
A、Bybus.B、Bybike.C、Bysubway.D、Onfoot.D细节题。女士问男士是不是每天骑车去上班。男士回答“偶尔会,有时也会坐地铁或公共汽车,但是不下雨的时候,一般是走路去上班的。”问天气好的话,男士如何去上班,显然,选项
最新回复
(
0
)