首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
admin
2019-05-22
26
问题
使用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与其他函数中的任何内容。
1 #include
2 #include
3 #include
4 #include
5 using namespace std;
6 void WriteFile(int c)
7 {
8 ofstream out1 ;
9 outl.open("modi3.txt",iosbase::app);
10 outl << c<< ’ ’;
11 outi.close();
12 }
13 void WriteFi le(char*str)
14 {
15 ofstream outl;
16 outl.open("modi3.txt",los_base::app);
17 outl<
18 outl.close();
19 }
20 void ClearFile()
21 {
22 ofstream outl ;
23 outl.open(”modi3.txt”);
24 outl.close();
25 }
26 class Date
27 {
28 public:
12 Date(int y,int m,int d)
30 {
31 //********2********
32
33 }
34 void print()const ;
35 //********3********
36
37 {
38 month+=m;
39 int i=month/12;
40 int J=month%12;
41 if(j==0)
42 {
43 year+=(i-1);
44 month=12;
45 }
46 else
47 {
48 year+=i;
49 month=j;
50 }
51 return *this ;
52 }
53 private:
54 //********1********
55
56 } ;
57 void Date::print()const
58 {
59 //********4********
60
61 WriteFile(year);
62 WriteFile("年");
63 WriteFile(month);
64 WriteFile("月");
65 WriteFile(day);
66 WriteFile("日");
67 }
68 int mein()
69 {
70 ClearFile();
71 Date Oly_day(2008,8,8);
72 Oly_day+=3 ;
73 OIy_day.print();
74 return 0;
75 }
选项
答案
(1)添加语句:int year,month,da.y; (2)添加语句:year=y; month=m; da.y=d; (3)添加语句:Date & operator+=(int m) (4)添加语句:cout<
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类Date和函数print实现各种输出操作。
[解题思路]
(1)题目1要求“定义私有成员变量year、month、day”。在C++程序的pfivate区域中添加变量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://jikaoti.com/ti/pkA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C如果在类以外的其他地方定义了一个函数,在类体中用friend对该函数进行声明,此函数就称为本类的友元函数。因为函数为voidfun(),根据友元定义补全语句为“friendvoi
A、 B、 C、 D、 B拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,
A、 B、 C、 D、 D面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块
诊断和改正程序中错误的工作通常称为______。
4传值是默认的参数传递方式。如果调用函数时,须要改变实参或者返回多个值,就应该采用传地址方式。传递指针属于显式的传地址方式,传递引用属于隐式的传地址方式。本题采用的是传递引用,所以实参被改变。
关系模型数据库系统模型有3种,分别为:层次模型、网状模型和关系模型。其中,层次模型用树型结构表示,网状结构用无向图表示,关系模型用二维表表示。
A、 B、 C、 D、 D在最坏情况下,冒泡排序和快速排序的比较次数都是n(n-1)/2。
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
以下哪个不是C++语言中的有效标识符?
随机试题
心壁由内向外分为三层,分别为________、________和________;其中最内层又可分为________、________和________。
肝功能不患患者应避免使用
营业线轨道施工中,曲线外轨最大超高不得大于()。
下列关于商业银行业务的表述,正确的是()。[2013年11月真题]
大学毕业生小云长得漂亮,身材高挑,刚入职就被已婚的部门领导表白。之后的两年该领导不断骚扰她,甚至在单位的公开场合也不避讳。这让小云非常烦恼,同事的议论更让她羞愧难当,为此她向社会工作者小汪求助。在与小云的会谈中,小汪运用了影响性技巧。下列回应中,属于该技巧
草鱼原产于东北到华南各大水系,后来被引入到云南的滇池中高密度地喂养,结果使很多当地水生植物(如滇池的海菜花)被消耗殆尽,一些水生动物如滇池蝾螈也随之灭绝等。这是因为()。
秦穆公请伯乐推荐继任者,伯乐说九方皋可堪此任。九方皋奉秦穆公之命外出寻找千里马,三月后复命说,马已找到。穆公问:何马也?九方皋答道:黄色的公马。穆公派人去取马,取马的人回报说是匹黑母马。穆公不悦,责问伯乐:你推荐的这位相马者连马的黄黑公母都不辨,怎能鉴别其
李某,男,17岁,系某市国有百货文化用品公司工人。王某,男,系李某结拜兄弟。王某16岁生日将至,多次向李某要生日礼物。2005年9月10日,被告人李某在本公司营业厅盗得该公司空白提货单2份(五联单)并乘收款员刘某不备,在提货单上偷盖了该公司付款专用章。而后
某二叉树的先根遍历序列为CEDBA,中根遍历序列为DEBAC,则其后根遍历序列为【】。
Twomodesofargumentationhavebeenusedonbehalfofwomen’semancipationinWesternsocieties.Argumentsinwhatcouldbecal
最新回复
(
0
)