当前位置: 首页 > news >正文

建在线教育网站需要多少钱台州网站建设 推广公司

建在线教育网站需要多少钱,台州网站建设 推广公司,多语言版本的网站,软件技术文档编写标准规范写在前面 本篇里面的日期类型加法,先不考虑闰年,平年的天数,每月的天数统一按30天算,那么每一年也就是360天 目录 写在前面 定义 基本数据类型 自定义数据类型 成员函数解决相加问题 Date类+整形 下一篇----运…

写在前面

本篇里面的日期类型加法,先不考虑闰年,平年的天数,每月的天数统一按30天算,那么每一年也就是360天

目录

写在前面

定义

基本数据类型

自定义数据类型

成员函数解决相加问题

Date类+整形

下一篇----运算符重载的规则


定义

运算符重载是对已有的运算符进行重新定义,赋予另一种功能,以适应不同的数据类型

基本数据类型

例如“+”,对于整形,浮点型进行加法运算,如下的程序段:

int a=2,b=3,c;
c=a+b;//c=5
double x=2.5,y=4.3,z;
z=x+y;//z=6.8

对于这段代码,为什么同一个运算符“+”可以运用于不同类型的数据进行加法运算呢?

这是因为C++已经对运算符“+”进行的运算符重载。所以“+”运算符才可以适用于整形,浮点型数据的加法运算。

在上面的程序中,如果运算符“+”两边是整形,那么编译器就会调用执行整形加法的运算符“+”重载函数;同样,如果运算符“+”两边是浮点型,那么编译器就会调用执行浮点型的运算符“+”重载函数;如果运算符两边是一个整形一个浮点型进行运算,我们知道结果肯定是一个浮点型(偏向精度高的),那么编译器是怎么 编译的,首先编译器会调用一个特殊的函数,把整形数据转为 浮点型数据,然后调用执行浮点型的运算符“+”的重载函数

自定义数据类型

C++中预定义的运算符操作对象只能是基本数据类型。实际上,对于我们自定义的类型(类),也需要进行类似的操作运算,可以直接用“+”来加减;

例如:对于日期这个类, 我想要直接知道当前日期加上n天之后,是何年何月何日。

下面是一个关于日期的类:

#include<iostream>
using namespace std;
class Date
{
public:Date(){Year = 1;Month = 1;Day = 1;}Date(int year,int month,int day){Year = year;Month = month;Day = day;}void DatePrint(){cout << Year << '/' << Month << '/' << Day << endl;}
private:int Year;int Month;int Day;
};int main()
{Date d1(2024, 4, 15);//Date d2 = d1+6;//4月21日d1.DatePrint();//2024/4/15//d2.DatePrint();return 0;
}

若要给d加上6,是不能实现的,不能实现的原因是,运算符“+”一个是整形,另一个是Date类,Date类不是预定义的基本数据类型。

如果需要对Date类进行加法运算,我们可以运用成员函数的方法来解决这个问题,每次相加的时候调用对应函数,相加就可以得到想要的结果。

成员函数解决相加问题

Date类+整形

也就是我们想要知道当前日期几天是何年何月何日,整形代表一个天数,直接加到Day上,

Day超过30,Month加1,Day减30,

Month超过12,Year加1,Month减12

代码结果如下

#include<iostream>
using namespace std;
class Date
{
public:Date(){Year = 1;Month = 1;Day = 1;}Date(int year,int month,int day){Year = year;Month = month;Day = day;}void DatePrint(){cout << Year << '/' << Month << '/' << Day << endl;}Date Addint(int day){int month = 0,year=0;year = day/360;//加的天数里面有多少年day = day % 360;//把年减了之后有多少天month = day / 30;//剩下的天数里面有多少个月day %= 30;//把月减了之后有多少天Year += year;Month += month;Day += day;return *this;}
private:int Year;int Month;int Day;
};int main()
{Date d1(2024, 4, 15);cout << "相加之前d1:";d1.DatePrint();//2024/4/15d1.Addint(6);//4月21日cout << "相加之后d1:";d1.DatePrint();return 0;
}

运行结果如下:

在来一个例子吧,算一下2000天后是多少年几月几号(注意这里没有使用日期规则)

这样也可以实现相加,但是我们也希望可以在类中使用运算符("+","-","=="...)

d2=d1+6,这样就需要重载运算符“+”来解决。

下一篇----运算符重载的规则

我们在介绍怎么使用运算符重载

http://www.yayakq.cn/news/980490/

相关文章:

  • 网站备案需要什么东西全球外贸采购网
  • 做网站前两个月应该干什么北京网站假设
  • 网站鉴赏淘宝客网站女装模板下载
  • 网站建设申请青岛百度推广优化怎么做的
  • 电脑版网站建设网站建站代理加盟
  • 网站设计师证书电商网站开发设计文档
  • 网站开发人员配置汤唯梁朝伟做视频网站
  • app网站制作公司网络规划设计师教程什么时候出电子版
  • 织梦系统如何做网站地图今天邯郸下的紧急通知
  • 团购网站开发的可行性分析怎么样提升网站权重
  • 株洲新站seo备案信息网站被注册
  • 网络推广 SEO优化 网站建设WordPress管理图片
  • 网站设计模板照片企业邮箱注册申请免费注册
  • 下列哪些不属于企业网站建设基本原则wordpress 站群会员
  • 关于营销的网站有哪些图片类网站建设
  • 域名访问不了织梦网站小型展台设计
  • 网站被301跳转建设网站的网站
  • 领导视察网站建设做网站建设比较好的公司
  • 烟台海阳市专业做网站征婚网站建设
  • 产品外观设计网站微信公众平台功能开发
  • 做网站虚拟主机电子商务的发展现状与趋势
  • 武威市住房和城乡建设局网站网站备案用户名忘了怎么办
  • asp爆网站绝对路径优秀高端网站建设报价
  • 永久免费手机网站建设教程wordpress通过.htaccess实现缓存压缩
  • 网站建设进展推进表五金商城网站建设注意
  • 沈阳做网站优化的公司哪家好湖北建科建设工程有限公司网站
  • 做海报有什么好的网站推荐创建一个网站的项目体现项目完成速度因素的
  • 做网站的时候宽度都怎么弄淘宝放单网站开发
  • 做ppt好的网站有哪些方面成都市网站设计开发
  • 苏州手机网站建设服务好用的搜索引擎