首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
admin
2019-05-22
64
问题
使用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://kaotiyun.com/show/YI8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 Dthis指针是成员函数所属对象的指针,它指向类对象的地址;它隐含于每个类的非静态成员函数中;this指针只能在类的成员函数中使用,它指向该成员函数被调用的对象:静态成员函数没有thi
A、 B、 C、 D、 C在数据字典编制过程中,常使用定义方式描述数据结构。
A、 B、 C、 D、 CE-R模型中,有3个基本的抽象概念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。
A、 B、 C、 D、 D面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块
A、 B、 C、 D、 DDBA(数据库管理员)的主要工作可以概括为3种:①数据库设计;②数据库维护;③改善系统性能,提高系统效率。
A、 B、 C、 D、 C线性结构,是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
在结构化分析使用的数据流图中,使用用__________解释其中的图形元素。
下列关于栈的叙述中,正确的选项是()。
随机试题
患者,女,25岁,因车祸导致左下肢胫腓骨上段骨折。查体:左足呈“马蹄”型,不能背屈和伸趾,外翻功能障碍,左小腿外侧及足背感觉障碍。该患者损伤的神经为
暑季游泳后,突感腹痛如绞,恶心呕吐,口渴无汗,面白,微发热,不恶寒,舌象无异,脉弦数,为
诊断下肢静脉曲张应首选()
外商独资企业进口二手设备,也应和其他性质的企业一样及时向检验检疫机构申请检验;但对于新设备不做强制性要求,企业可根据需要向检验检疫机构申请检验。( )
()是美术课程评价的依据。
窝藏、包庇罪是指非共同犯罪人明知他人犯罪,而为其提供隐藏处所、财物,帮助其逃匿或者作假证明包庇的行为。以下属于窝藏、包庇罪的是()。
甲、乙两人参加射击比赛,规定每中一发记5分,脱靶一发倒扣3分。两人各打了10发子弹后,分数之和为52,甲比乙多得了16分。问甲中了多少发?
请在“答题”菜单下选择“电子表格”命令,然后按照题目要求再打开相应的命令,完成下面的内容,具体要求如下:注意:下面出现的所有文件都必须保存在考生文件夹下。1.打开工作簿文件EXCEL.XLS,将工作表sheet1的A1:E1单元格合并为一个
Directions;Writeapassageabout150wordsonthefollowingtopic.TopicSomepeopleareget
Don’tforget______thewindowbeforeleavingtheroom.
最新回复
(
0
)