首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、目,类型为int。请在注
admin
2019-06-05
38
问题
使用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全国计算机二级
相关试题推荐
前后件关系在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的.
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。A)TestClass(TestClassx)B)TestClass&(TestClassx)C)TestClass(TestClass*x)D)TestC
下面的函数调用为:fun(x+y,3,min(n-1,y))则fun的实参个数是()。A)3B)4C)5D)6
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
下列对于线性链表的描述中,正确的是()。A)存储空间必须连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且各元素的存储顺序是任意的C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间不一定是连续,且前件元素
A、 B、 C、 D、 C白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
A、 B、 C、 D、 A要对线性表进行二分法查找,对线性表有两个要求:第一,要求线性表是按顺序方式存储的;第二,要求线性表中的元素是按照从小到大的顺序排好序。
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
随机试题
沟通环境方面的障碍有:
最大、最小孔隙比的测定方法不适用于黏土。()
下列选项属于清洁生产指标选取原则的有()。
记入总分类账户的金额与记入明细分类账户的合计金额相等是指()。(2012年真题题库)
财务顾问接受上市公司并购重组当事人委托的,应当指定()名财务顾问主办人负责,同时,可以安排一名项目协办人参与。
在我国华北、西北地区,人们在土层中挖穴为居室,这种黄土地区广泛使用的住宅形式是()。
在劳动力市场中,用人单位处于主导地位,而劳动者则往往处于弱势位置。因此,在劳动立法中,必须强调对劳动者权益的保护,只有这样,才能充分调动劳动者的积极性。()
纳税人缴纳税款后,用骗取出口退税的方法,骗取所缴纳的税款的,应定()。
小张8月份休年假旅游回来后,将办公室的日历连续翻了10页,这些日历的日期之和是155,那今天的日期是()。
TheIndustrialRevolution[A]TheIndustrialRevolutionisthenamegiventothemassivesocial,economic,andtechnologicalchan
最新回复
(
0
)