首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
admin
2019-05-22
39
问题
使用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、 D声明派生类的一般形式为:class派生类名:【继承方式】基类名。其中继承方式包括:public,private,protected,而virtual为c++中的关键字。虚函数的使用方
构造函数构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。
线性结构数据的逻辑结构,是指数据元素之间的逻辑关系,分为线性结构和非线性结构,常见的线性结构有线性表、栈和队列等;常见的非线性结构有树、二叉树等。
A、 B、 C、 D、 C通过调用友元函数,实现求解n!的算法。sum=5!+4!+3!+2!。
A、 B、 C、 D、 C采用intA[]={3,4,9,8}定义数组A,则A中只有4个元素,而题干要求的是7个元素,A[4]、A[5]、A[6]3个元素就不存在。
A、 B、 C、 D、 A关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。
数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。以下选项不属于DBA职责的是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
肝癌的淋巴转移最常见的是
病毒基因插入宿主细胞基因称为
国有工程监理企业改制为有限责任公司,筹备委员会向政府主管部门提出改制申请时,应提交的基本文件包括( )。
企业应当依法建账,这里所说的法包括()。
财务策划师需要提醒客户在遗嘱中列出必要的( ),借助这一条款,客户在希望改变其遗嘱内容时不需要制定新的遗嘱文件,而可以在原有文件上进行修改即可。
预付款项不多的企业,可以不设置“预付账款”科目,而将预付的款项通过“预收账款”科目核算。()
党的十九大报告指出,要加强和创新社会治理,打造()的社会治理格局。
外来人口的管理是社区组织的一项经常性工作,其具体工作内容包括()。
Ifyouchooselobsterfromamenu,thenwhereveryouareintheworld,theoddsarethatyourdinnermayhavecomefromArichat
A、Itisaffectingourhealthseriously.B、Ithindersourreadingandwriting.C、Itischangingourbodiesaswellasourculture
最新回复
(
0
)