首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
admin
2019-06-05
31
问题
使用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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classTlestClass{intn;public:TestClass(intk):n(k){
下面关于虚函数的描述中,正确的是()。A)基类中利用virtual关键字说明一个虚函数后,其派生类中定义相同的原型函数时可不必加virtual来说明B)虚函数是非成员函数C)虚函数是static类型的成员函数D)派生类中的虚函数与基
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
A、 B、 C、 D、 C白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classTest{public:Test(intA){data=a
实体完整性约束要求关系数据库中元组的______属性值不能为空。
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。A)Data+(DatA);B)Dataoperator+{Data};C)Data+operator{Data};D)operator+(Data,D
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
随机试题
新老地层产状一致,其岩石性质与古生物演化突变,沉积作用上有(),接触处有剥蚀面,剥蚀面与上、下地层平行的接触关系为假整合接触。
鸦片战争前中国封建社会的主要矛盾是()
细菌性痢疾的主要临床表现是
下列关于审理期限的说法,正确的是()。
设备监理是指依法设立的设备监理单位,接受项目法人或建设单位的委托,按照()的约定,根据国家有关法规、规章、技术标准,对设备形成的全过程和/或最终形成的结果实施监督和控制。
(房产税应纳税额的计算和减免税优惠相结合)2015年年初某企业拥有房屋16栋。其中10栋用于生产经营,房产原值共计12000万元;1栋(原值400万元)用作幼儿园和职工学校;1栋(原值600万元)自2015年1月1日起出租给其他企业,年租金80万元;1栋(
企业如果不单独核算废品损失,就不必进行有关废品的任何账务处理。()
甲,乙两站均为每隔50分钟同时对向发一趟客车,客车从甲站到乙站,单程需行驶4小时,每辆客车的行驶速度相同,某旅客乘车从甲站到乙站,他在行程中最多可以遇到从乙站开往甲站的客车()辆。
下列叙述中,正确的是()。
WhileAmericanshavenoreasontobeterrifiedtositdownatthedinnertable,theyhaveeachreasontodemandsignificantimpr
最新回复
(
0
)