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

做内销的网站推荐长沙seo智优营家

做内销的网站推荐,长沙seo智优营家,做的好的农产品网站,开平网站开发在上篇提到了构造函数、拷贝构造函数、析构函数,这篇将会分享剩下默认构造函数:赋值运算符重载、运算符重载。当学习了这些构造函数可以实现一个日期类。 目录 运算符重载 赋值运算符重载 前置 后置 运算符重载 函数名字为:关键字operat…

在上篇提到了构造函数、拷贝构造函数、析构函数,这篇将会分享剩下默认构造函数:赋值运算符重载、运算符重载。当学习了这些构造函数可以实现一个日期类。

目录

运算符重载

赋值运算符重载

前置++

后置++


运算符重载

函数名字为:关键字operator后面接需要重载的运算符符号。

函数原型:返回值类型 operator操作符(参数列表)

注意:

1.不能通过连接其他符号来创建新的操作符:比如operator@

2.重载操作符必须有一个类类型参数

3.用于内置类型的运算符,其含义不能改变,例如:内置的整型+,不能改变其含义

4.作为类成员函数重载时,其形参看起来比操作数数目少1,因为成员函数的第一个参数为隐 藏的this

5. .*  ::  sizeof  ?:  . 注意以上5个运算符不能重载。

赋值运算符重载

对内置类型进行赋值,不需要重载,直接使用编译器自动生成的,但是对于自定义类型却不行,这时候就需要自己写一个赋值运算符重载。

赋值运算符重载格式

1.参数类型:const T&,传递引用可以提高传参效率

2.返回值类型:T&,返回引用可以提高返回的效率,有返回值目的是为了支持连续赋值

3.检测是否自己给自己赋值

4.返回*this :要复合连续赋值的含义

代码示例:

class Date {
public:Date(int year, int month, int day){_year = year;_month = month;_day = day;}void Print(){cout << _year << "-" << _month << "-" << _day << endl;}//赋值运算符重载/*Date& operator=(const Date& d){_year = d._year;_month = d._month;_day = d._day;}*/
private:int _year;int _month;int _day;
};int main()
{Date d1(2025,5, 21);Date d2(2,2,2);d2 = d1;d2.Print();return 0;
}

 运行结果:

用户没有显式实现时,编译器会生成一个默认赋值运算符重载,以值的方式逐字节拷贝。

注 意:内置类型成员变量是直接赋值的,而自定义类型成员变量需要调用对应类的赋值运算符 重载完成赋值,并且赋值运算符只能重载成类的成员函数不能重载成全局函数。

前置++

对于日期类前置++需要注意什么呢,前置++返回的是算完后的值。

前置++重载格式:Date& operator++()

代码示例:

class Date {
public:Date(int year = 2025, int month = 5, int day = 21){_year = year;_month = month;_day = day;}Date& operator++()//前置++{_day += 1;return *this;}
private:int _year;int _month;int _day;
};

 注意:this指向的对象函数结束后不会销毁,故以引用方式返回提高效率。

后置++

如何区分前置++和后置++呢?为了区分前置++和后置++,C++规定:后置++重载时多增加一个int类型的参数,但调用函数时该参数不用传递,编译器 自动传递。

代码示例:

class Date {
public:Date(int year = 2025, int month = 5, int day = 21){_year = year;_month = month;_day = day;}Date& operator++()//前置++{_day += 1;return *this;}Date operator++(int){Date tmp(*this);_day += 1;return tmp;}
private:int _year;int _month;int _day;
};

因为是后置++,所以需要一个临时变量来存储*this,返回++之前的值。 

http://www.dtcms.com/wzjs/102480.html

相关文章:

  • 网站顶部素材关键词优化排名要多少钱
  • 游戏开发网湖南seo技术培训
  • 哈尔滨网站制作工具百度搜索优化
  • 租服务器网站站内搜索工具
  • 设计 日本 网站天津seo管理平台
  • 在网站后台设置wap模板目录手机搜索引擎
  • 齐家装饰公司官网互联网优化是什么意思
  • 网站栏目做跳转免费正规的接单平台
  • js 网站制作济南做网站公司
  • 微信网站搭建教程站长推荐黄色
  • 微信用网站怎么做百度推广官网首页
  • 营销型网站建设风格设定包括哪些方面淘宝指数网址
  • wordpress esc html搜索引擎优化工具有哪些
  • wordpress自动还原佛山seo优化
  • 云南省网站建设公司谷歌seo综合查询
  • 黄网站开发fifa最新排名出炉
  • app网站做二手交易网络公司seo教程
  • 网站图片如何做超链接百度知道登录
  • 什么网站赚的钱最多优化大师客服电话
  • 深圳创业印章哈尔滨网络seo公司
  • 营销型网站建设定制网站建设怎么做竞价托管
  • 网站静态化的好处自媒体平台app
  • 北京建设工程交易服务中心网站搜索引擎环境优化
  • 化工建设网站申京效率值联盟第一
  • 南通市 网站设计网络推广团队
  • 修改自豪地采用wordpress系统优化是什么意思
  • 做网站赚钱但又不想开公司大连最好的做网站的公司
  • 广东网站建设价格seo技术专员招聘
  • 新网站如何做百度收录网络营销以什么为中心
  • 做国际网站有用搜索引擎优化工作