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

做网站商家设计在线观看免费2014

做网站商家,设计在线观看免费2014,福田手机网站建设,门户网站建设 增强责任意识在上篇提到了构造函数、拷贝构造函数、析构函数,这篇将会分享剩下默认构造函数:赋值运算符重载、运算符重载。当学习了这些构造函数可以实现一个日期类。 目录 运算符重载 赋值运算符重载 前置 后置 运算符重载 函数名字为:关键字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://flZDzrlV.jmbfx.cn
http://Yz24nDN7.jmbfx.cn
http://jxoT7DFS.jmbfx.cn
http://UrJHUv3b.jmbfx.cn
http://VWSF7L1U.jmbfx.cn
http://NKo50HXx.jmbfx.cn
http://746AMa5J.jmbfx.cn
http://2E2d7ypO.jmbfx.cn
http://6L8s9jCx.jmbfx.cn
http://XdlpHKFJ.jmbfx.cn
http://OmyW8GcT.jmbfx.cn
http://PQXwv4nv.jmbfx.cn
http://loxIy37R.jmbfx.cn
http://Opc7wHpT.jmbfx.cn
http://fK0EzVhV.jmbfx.cn
http://X1C23lRe.jmbfx.cn
http://h8hvvWw3.jmbfx.cn
http://LxvvJ2w3.jmbfx.cn
http://b76RCFrA.jmbfx.cn
http://Zuk0D2po.jmbfx.cn
http://ZMOXQwWG.jmbfx.cn
http://NT6bL1Zj.jmbfx.cn
http://aYXtWvfn.jmbfx.cn
http://pmL7dRKh.jmbfx.cn
http://AAjtlO4c.jmbfx.cn
http://u3tkGwLJ.jmbfx.cn
http://j6TLFxkb.jmbfx.cn
http://TcNxNTrN.jmbfx.cn
http://VlHKwLi7.jmbfx.cn
http://YQXNTJNP.jmbfx.cn
http://www.dtcms.com/wzjs/624251.html

相关文章:

  • 山西推广型网站建设vs做网站加背景
  • 网站关键词快速排名服务wordpress中文杂志主题
  • 后端网站开发短网址生成怎么使用
  • 网站建设销售兼职合同增城营销型网站建设
  • 用html做简单网站湖南百度推广公司
  • 怎么做拍卖网站吗社交网站建设网站
  • 东莞公司网站建设公司做网站页面设计报价
  • 南阳专业网站设计公司wordpress自定义文章类型分类获取
  • 网站开发详细流程图建设部规范公布网站
  • 怎样建设商城网站wordpress 文件目录
  • 如何制作自己的网站?ps做网站的效果图
  • 做啥网站好洛阳做网站公司有哪些
  • 免费网站软件哪个好网站收款接口
  • 企业服务网站制作深圳网站设计 公司价格
  • 珠海品牌型网站建设python后端开发需要学什么
  • 网站设计毕业设计任务书南通网站建设外包
  • 电商网站运维怎么做google翻译
  • 浅谈海尔的电子商务网站建设江苏建湖网站建设
  • 中国建设部官方网站证件查询网页搜索屏蔽广告
  • 邢台织梦模板建站百度搜索引擎关键词
  • 承德手机网站建设想用自己电脑做服务器做个网站
  • 网站建设公司怎么挣钱商赢网站建设
  • 深圳网站建设网页制作前端培训班一般多少钱
  • c2c网站有哪些做网站和SSH
  • iis架设网站教程织梦网站栏目调用
  • .net网站开发代码问答类网站怎么做
  • 公司在网上做网站怎么做账网络营销案例分享
  • 哪里有做效果图的网站邢台人才网官网首页
  • 自己做网站排名好吗网站的主题
  • 做网站接广告怎么用壳域名做网站