C++定义日期类型Date的程序代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++定义日期类型Date的程序代码相关的知识,希望对你有一定的参考价值。
定义日期类型Date。要求有以下成员:
(1)可以设置日期;
(2)日期加一天操作;
(3)输入函数,输入格式为:XXXX XX XX,如2010 4 13;
(4)输出函数,输出格式为:XXXX年XX月XX日,如2010年4月11日
#include<iostream>
using namespace std;
class CDate
private:
int m_date;
int m_month;
int m_year;
public:
CDate():m_date(1),m_month(1),m_year(2011);
~CDate();
void setDate()
cin>>m_year>>m_month>>m_date;
;
void DateOut()
cout<<m_year<<"年"<<m_month<<"月"<<m_date<<"日"<<endl;
;
void operator ++()
++m_date;
;
operator++(int o)
m_date++;
;
;
int main()
CDate date;
date.setDate();
date.DateOut();
date++;
date.DateOut();
++date;
date.DateOut();
本回答被提问者和网友采纳 参考技术B 关注! 参考技术C 员,你还可以为其添加成员函数。日期类的定义在文件data.h中的 Listing 1。它与上个月的C版本不同,因为在这里interval函数是一个成员函数而不是全局函数。Date::interval()的实现在 Listing 2 中。"::"叫做作用域运算符。它告诉编译器interval函数是Date类的成员函数。interval函数原型中的"&"说明这个函数的参数由应用传递(参见关于引用的选项)。Listing 3 中的程序展示了如何使用这个日期类。你必须使用结构成员的语法来调用 Date:: interval():
result = d1.interval (d2);
Date作为类型标识符,就像系统内建类型一样的发挥作用(例如,你可以定义Date的对象而不使用struct关键字)。永远也不必做如下的定义:
typedef struct Date Date;
事实上,类的概念是如此的基本,以至于C++已经将结构标签和普通的标识符结合成一个独立的名字空间。
注意我已经将isleap定义成了一个内联函数(在C版本中它是一个宏)。内联函数像宏一样将代码展开,但它也像普通函数一样进行作用阈和类型的检查。除非你要使用the stringizing or token-pasting operations of the preprocessor,,否则在C++中不需要使用 function-like 的宏。现在考虑 Listing 2 中的这个声明:
years = d2.year - year;
year指的是什么对象?在C版本中,这个声明如下:
years = d2.year - d1.year;
既然成员函数的调用总是与对象相关联(例如,d1. interval (d2)),因此当成员函数没有前缀修饰的时候,通常是相关联对象的成员(在这里,year 指的是d1.year)。this关键字代表一个指向潜在对象的指针,因此我可以做一个更加明确的声明:
years = d2.year - this->year;
但是这种用法很少。 在 Listing 4 中,我在类的定义中添加了如下的声明:
Date();
Date(int,int,int);
这是一种特殊的成员函数叫做构造函数。构造函数允许你在一个对象被创建的时候指定怎么样初始化这个对象。当你定义一个没有初始值的日期对象时,首先调用缺省构造函数(因为它没有任何参数):
Date d;
错误类型错误:无法读取未定义的属性“日期/时间”
【中文标题】错误类型错误:无法读取未定义的属性“日期/时间”【英文标题】:ERROR TypeError: Cannot read property 'Date/Heure' of undefined 【发布时间】:2021-08-21 07:43:57 【问题描述】:当我们上传 .mes 文件并播放数据以将其插入对象时,我的 Web 应用程序会从 .mes 文件中获取数据。 加载时,对象中没有任何内容,上传文件后,数据来了
我想用这个显示我在 .mes 上的“日期”:
生产日期: jsonToDisplay[0]['Date/Heure']['Date']
最后,jsonToDiplay 有很多数据,而且从来没有相同的“模型”,所以我无法创建一个。此外,我尝试了异步方法但没有,在初始化时,jsonToDisplay = [];
【问题讨论】:
需要更多详细信息来帮助您,但错误消息说 jsonToDisplay[0] 未定义如何恢复此变量? 在我上传我的文件之前,jsonToDisplay = [] - 当我上传它时, jsonToDisplay[0]['Date/Heure']['Date'] 存在,所以我只想删除加载错误 【参考方案1】:通常,要消除错误,我们可以这样做: jsonToDisplay[0]?.Date/Heure?.Date ,但是因为 'Date"/"Heure,这是不可能的。
所以我将值放在 Typescript 中的新变量中,它可以工作
【讨论】:
以上是关于C++定义日期类型Date的程序代码的主要内容,如果未能解决你的问题,请参考以下文章