首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
admin
2019-06-07
44
问题
使用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
#include
#include
#include
using namespace std;
void WriteFile(int c)
{
ofstream out1;
out1.open("modi3.txt",ios
base::app);
out1<
out1.close();
}
void WriteFile(char*str)
{
ofstream out1;
out1.open("modi3.txt",ios
base::app);
out1<
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(j==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();
return 0;
}
选项
答案
(1)添加语句:int year,month,day; (2)添加语句:year=y;month=m;day=d; (3)添加语句:Date&operator+=(int m) (4)添加语句:cout<
解析
(1)题目l要求“定义私有成员变量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<
转载请注明原文地址:https://kaotiyun.com/show/6Q8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用__________的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
在程序设计阶段应该采取__________和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。
栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪个序列不是可能的出栈序列()。
执行下列程序段以后程序的输出是__________。voidadd(int&x){x++:}intmain(){inty=3:add(y);cout
非成员函数必须声明为类的__________才能访问这个类的private成员。
下列程序用来判断数组中特定元素的位置所在,则输出结果为()。#include#includeintfun(int*p,intn,int*j){inti;*j=0;fo
下面重载乘法运算符的函数原型声明中错误的是()。
下列说法中错误的是()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
下面函数的作用是以双倍行距输出文件:voidtest(ifstream&outf,ofstream&outC){charc;while(______){______;
随机试题
环境影响评价要根据()的实际情况及建设项目主要污染物排放指标分析情况,提出污染物排放总量控制指标建议和满足指标要求的环境保护措施。
自然资源按照其与人类的经济关系划分,可划分为( )。
交割仓库未履行货物验收职责或者因保管不善给仓单持有人造成损失的,应当承担赔偿责任。()
安徽西递古村落被誉为()
下列事件按照时间先后顺序排列,正确的是()。①百团大战;②抗日民族统一战线形成;③南京大屠杀;④台儿庄战役;⑤淮海战役
鲁迅根据一些读书人的特点创作了孔乙己这个人物。这种想象的形式是
A、a=1,b=0B、a=0,b=-2C、a=0,b=1D、a=1,b=-2A
利用代换u=ycosx将微分方程y"cosx-2y’sinx+3ycosx=ex化简,并求出原方程的通解.
OneafternoonIwassittingatmyfavoritetableinarestaurant,waitingforthefoodIhadordered.SuddenlyI【C1】______thata
BritishCuisine:TheBestofOldandNewBritishcuisine(烹饪)hascomeofageinrecentyearsaschefs(厨师)combinethebestof
最新回复
(
0
)