首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
47
问题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int。请在注释1后添加适当的语句。
(2)完成构造函数,分别给year、month、day赋值。请在注释2后添加适当的语句。
(3)完成重载符号“+=”的定义,请在注释3后添加适当的语句。
(4)完成print打印函数,输出到屏幕和文件的格式相同,请在注释4后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
程序正常运行,输出的结果为2008年11月8日。
试题程序:
#include
#include
#include
#include
using namespace std;
void WriteFile(int c)
{
ofstream out1;
out1.open("3.txt",ios_base::app);
out1<
out1.close();
}
void WriteFile(char*str)
{
ofstream out1;
out1.open("3.txt",ios_base::app);
out1<
out1.close();
}
void ClearFile()
{
ofstream out1;
out1.open("3.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:
//* * * * * * * * 3 * * * * * * * *
};
void Date::print()
{
//* * * * * * * * 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)应添加“year=y;month=m;day=d;”。 (2)应添加“Date & operator+=(int m)”。 (3)应添加“int year,month,day;”。 (4)应添加“cout<
解析
本题中第3处要求“定义私有成员变量year、month、day”。在C++程序的private区域中添加变量year、month、day的定义,即在第3处添加“int year,month,day;”。
第1处要求“完成构造函数,分别给year、month、day赋值”。在程序中“Date(int y,int m,int d)”的构造函数中添加给year、month、day赋值的语句,即在第1处添加“year=y;month=m;day=d;”。第2处要求“完成重载符号‘+=’的定义”。在C++中,运算符重载的定义方法是定义一个重载运算符的函数,格式为函数operator+重载运算符号+,所以这里补全“Date&operator+=(int m)”。
第4处要求“完成函数print()打印函数”。在C++中的print函数中补全其打印功能,即在第四个标识下添加“cout<
转载请注明原文地址:https://kaotiyun.com/show/zXNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列字符常量的写法中,错误的是()。
以下程序的执行结果是【】。#include<iostream.h>classB{public:B(){}B(inti.intj);voidprintb();private:inta,b;};classA{pub
下列对于虚函数和重载函数的叙述,正确的是()。
定义如下一维数组:inta[5],*p;,则下列描述错误的是()。
表达式8&3的结果是【】。
若有如下类定义:classB{voidfunl(){}protected:doublevarl:public:voidfun2(){}};classD:public
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰。
在有n个结点的二叉链表中,值为非空的链域的个数为【】。
将小写字母n赋值给字符变量one_char,正确的操作是______。
多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但口运算符只能作为类的【】函数重载。
随机试题
下列各项,不属人工流产并发症的是()
A、低分子溶液剂B、高分子溶液剂C、乳剂D、溶胶剂E、混悬剂是由低分子药物分散在分散介质中形成的液体制剂,分散微粒小于1nm()
住所位于我国A市B区的甲公司与美国乙公司在我国M市N区签订了一份买卖合同,美国乙公司在我国C市D区设有代表处。甲公司因乙公司提供的产品质量问题诉至法院。关于本案,下列哪些选项是正确的?(2010年试卷三第85题)
“应付债券”和“利润分配”科目属于()。
直接进入期货交易所交易大厅内进行期货交易的,必须是()。
皮亚杰和柯尔伯格两人在道德判断研究上的主要差异在于前者提出的发展年龄阶段先于后者的阶段。()
美国学者波斯纳提出的教师成长公式是()。
如何认识第二次世界大战的性质?
A、 B、 C、 CDoyoumindif…?(您介意我……吗?)用来表示征求对方许可。这道题询问对方是否可以使用订书机,(C)项的回答“你可以使用,但是要先放上订书钉”是符合题意的。(A)项则诱使考生混同stap
Insciencethemeaningoftheword"explain"suffers【C1】______civilization’severystepinsearchofreality.Sciencecannotre
最新回复
(
0
)