【C++】类和对象之赋值运算符重载

小明 2025-04-30 10:17:39 7

个人主页 : zxctscl

���章封面来自:艺术家–贤海林

如有转载请先通知

文章目录

  • 1. 前言
  • 2. 赋值运算符重载
  • 3. 前置++和后置++重载
    • 3.1 前置++重载
    • 3.2 后置++重载
    • 4. 日期类的实现
      • 4.1 日期的计算
        • 4.1.1 日期的相加
          • 4.1.1.1 日期+=天数
          • 4.1.1.2 日期+天数
          • 4.1.1.3 +=和+的复用
          • 4.1.2 日期的相减
            • 4.1.2.1 日期-=天数
            • 4.1.2.2 日期-天数
            • 4.1.3 日期-日期
            • 4.2 重载
            • 4.4 附代码
              • 4.4.1 Date.h
              • 4.4.2 Date.cpp
              • 4.4.3 Test.cpp

                1. 前言

                在前面的博客中提到了拷贝构造: 【C++】类和对象之拷贝构造函数篇,和 运算符重载【C++】类和对象之常引用与运算符重载,接下来继续来看赋值运算符重载中的赋值运算符重载。

                2. 赋值运算符重载

                1. 赋值运算符重载格式

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

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

                  检测是否自己给自己赋值

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

                class Date
                {
                public:
                	Date(int year = 1, int month = 1, int day = 1)
                	{
                		_year = year;
                		_month = month;
                		_day = day;
                	}
                	Date& operator=(const Date& d)
                	{
                		if (this != &d)
                		{
                			_year = d._year;
                			_month = d._month;
                			_day = d._day;
                		}
                		return *this;
                	}
                	void Print()
                	{
                		cout 
                	Date d1(2024, 1, 29);
                	Date d2(2024, 2, 28);
                	bool ret1 = d1 
The End
微信