首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
admin
2013-11-15
59
问题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释1后添加适当的语句。
(2)完成构造函数,分别给year、month、day赋值,请在注释2后添加适当的语句。
(3)完成重载符号“+=”的定义,请在注释3后添加适当的语句。
(4)完成函数print打印函数,如2005年1月5日到屏幕和文件out3.txt格式相同,请在注释4后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
试题程序:
#include
#include(fstream)
#include(iomanip)
#include(cmath)
using namespace std;
void WriteFile(int c)
{
ofstream out1;
outl.open(“out3.txt”,ios_base::app);
outl<
out1.close();
}
void WriteFile(char*str)
{
ofstream out1;
out1.open("out3.txt",ios_base::app);
out1<
out1.close();
}
void ClearFile()
{
ofstream out1;
outl.open("out3.txt"):
out1.close();
}
class Date
{
public:
Date(int y,int m,int d)
{
//********1********
}
void print();
//********2********
{
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:
//********4********
};
void Date::print()
{
//********4********
WriteFile(year);
WriteFile("年");
WriteFile(month);
WriteFile("月");
WriteFile(day);
WriteFile("日");
}
int main()
{
ClearFile();
Date National_day(2004,10,5);
National_day+=3;
National_day.print();
return 0;
}
选项
答案
(1)应添加“year=y;month=m;day=d;”。 (2)应添加“Date&operator+=(int m)”。 (3)应添加“int year,month,day;”。 (4)应添加“cout<
解析
本题要求私有成员变量year、month、day为整形表示方法,所以注释3应添加“int year,month,day;”;注释1要求分别给year、month、day赋值,根据上下文提意,所以应添加“year=y;month=m;day=d;”;注释2是对“+=”运算符的重载ate&operator=(int m);第4处打印输出年月日,C++语言中,输出使用cout。
转载请注明原文地址:https://www.kaotiyun.com/show/rHNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的输出结果是()。#include<iostream>usingnamespacestd;template<classT>Tmax(Tx,Ty){return(x>=y?x:y);
对下面的程序,说法正确的是()。#include<iostream>usingnamespacestd;voidsum(floatm,floatn){floatsum=m+n;}main()
下面的描述中,正确的是()。
下面程序运行后输出的结果是【】。#include<iostream>usingnamespacestd;classexample{constintm;public:example(inti)
已知n是一个int型变量,下列语句中错误的是()。
以下定义语句中,错误的是______。
若有:intx=25,y=14,z=19;则在计算表达式x++<=25&&y--<=2&&++z<=18后,z的值为【】。
定义重载函数时,应在参数个数或参数类型上【】。
下面叙述错误的是()。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
随机试题
银行资本家的自有资本的银行利润在数量上通常
试述特发性血小板减少性紫癜的诊断标准。
大剂量、久服易引起浮肿的是哪味药
相须是指相恶是指
有限责任公司的权力机构是()。
商业银行:是指依照商业银行法和公司法设立的,吸收公众存款、发放贷款、办理结算业务的企业法人。根据上述定义,下列银行不属于商业银行的是( )。
完全竞争行业的代表厂商的长期总成本函数为:LTC=Q3-60Q2+1500Q,成本用美元计算,Q为每月产量。(1)假设产品价格P=975美元,求利润为极大时的产量。(2)上述利润为极大时的长期平均成本是多少?利润是多少?为什么这与行业的长
下列地址中,()是MAC组播地址。
Mostearthquakesoccurwithintheupper15milesoftheearth’ssurface.Butearthquakescananddooccuratall【C1】________to
WhenIsawhissmilingface,Iknewhe______(have)goodnewsofhisparents.
最新回复
(
0
)