目录

赋值运算符重载的概念

赋值运算符重载的特性


赋值运算符重载的概念

#include<iostream>
using namespace std;class Data
{
public:Data& operator=(Data& d)    //创建赋值运算符重载{if (this != &d)    //因为传递过来的d是个形参,只是是传引用传递的,所以需要&{_year = d._year;_month = d._month;_day = d._day;}}
private:int _year;int _month;int _day;
};int main()
{Data c1, c2;c1 = c2;return 0;
}

假如我们要将一个对象的值赋值到另一个对象中,就可以使用赋值运算符=

赋值运算符重载的特性

赋值运算符的特性:

1. 参数类型,参数类型为类
2. 返回值,返回值是类的时候,返回的时候会再次调用一次拷贝构造,所以我们返回值需要传引用所以我们需要传引用返回
3. 检测是否自己给自己赋值
4. 一个类如果没有显式定义赋值运算符重载,编译器也会生成一个,完成对象按字节序的值拷贝
5、赋值运算重载只能在类里面定义,因为需要一个this指针

c++中的赋值运算符重载=(默认成员函数)相关推荐

  1. C++_类中的6个默认成员函数

    C++类中有6个默认函数,分别是:构造函数.析构函数.拷贝构造函数.赋值运算符重载.取地址及const取地址运算符重载.这六个函数是很特殊的函数,如果我们不自己实现,编译器就会自己实现.这篇博客中将一 ...

  2. 【C++从入门到踹门】第三篇:类和对象(中)类的默认成员函数

    目录 1.类的默认成员函数 2.构造函数 2.1 构造函数引入 2.2 构造函数概念及特点 3. 析构函数 3.1 析构函数引入 3.2 析构函数的概念 3.3 在哪些情况下会程序会执行析构函数? 3 ...

  3. C++类与对象(二) 六个默认成员函数

    目录 1.构造函数 (1)引入 (2)性质与验证 (3)总结 2.析构函数 (1)概念 (2)性质与验证 (3)总结 3拷贝构造函数 (1)概念 (2)性质与验证 (3)总结 4.赋值运算符重载 (1 ...

  4. 类与对象:类的6个默认成员函数: 构造函数、析构函数、拷贝构造函数、赋值操作符重载、默认拷贝构造与赋值运算符重载的问题、const成员函数、 取地址及const取地址操作符重载

    1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类.任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数. 构造函数 析构函数 拷贝构造函数 赋值操作符重载 const成员函数 ...

  5. 类的默认成员函数、赋值运算符重载

    目录 1.类的6个默认成员函数 2.1 概念 2.1 概念 2.2 特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1 运算符重 ...

  6. 类的6个默认成员函数:构造函数、析构函数、拷贝构造函数、重载运算符、三/五法则

    文章目录 6个默认成员函数 构造函数 概念 默认构造函数的类型 默认实参 概念 默认实参的使用 默认实参声明 全局变量作为默认实参 某些类不能依赖于编译器合成的默认构造函数 第一个原因 第二个原因 第 ...

  7. C++类与对象(类中的六大默认成员函数)

    文章目录 类的默认成员函数 构造函数 概念 特征 自己定义构造函数 类中编写 传参方法 编译器自动生成的构造函数 定义变量方式 初始化规则 析构函数 概念 特性 自己定义析构函数 编译器自动生成的析构 ...

  8. 【 C++ 】类和对象(中)—— 类的6个默认成员函数

    目录 1.类的6个默认成员函数 2.构造函数 构造函数概念 构造函数特性 3.析构函数 析构函数概念 析构函数特性 4.拷贝构造函数 拷贝构造函数概念 拷贝构造函数特性 5.赋值运算符重载 运算符重载 ...

  9. C++类和对象(中)(6个默认成员函数)

    目录 1.类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 1. ==函数名==与==类名==相同. 2. 无返回值. 3. ==对象实例化时==编译器自动调用对应的构造函数. 4. ...

最新文章

  1. Redis 笔记(15)— 管道 pipeline(客户端将批量命令打包发送用来节省网络开销)
  2. Mysql中大表添加索引的办法
  3. Mysql编辑工具中使用(Navicat查询结果显示行号)
  4. 李宏毅机器学习(十)GPT-3
  5. Java System类identityHashCode()方法及示例
  6. c++ windows 蓝牙库_c++ - “是否有一个多操作系统蓝牙库?”后续:QT Linux到Windows 10蓝牙 - 堆栈内存溢出...
  7. python-使用字典使Fibonacci更有效率
  8. 测试计划的范围_【新书连载05】软件测试流程设计—系统测试计划
  9. 小白如何购买阿里云服务器(2019最详细教程)
  10. 【转】解决Navicat 报错:1130-host ... is not allowed to connect to this MySql server,MySQL不允许从远程访问的方法 .
  11. Spring Boot入门(6)-使用AOP统一处理Web请求日志
  12. 华为交换机忘记密码怎么办啊,华为交换机登陆密码忘了怎么办
  13. P1713 麦当劳叔叔的难题(90分)
  14. 2012最新网站手工注入详解教程
  15. 如何制作u盘pe启动盘?
  16. java定义苹果类Apple_定义一个水果接口Fruit,里面定义一个表示吃水果的eat方法。定义一个苹果类Apple和一个橘子...
  17. 华为发放20亿奖金,人均10万!你还想逃离996吗?
  18. 2008 R2修复光盘_华录企业级蓝光光盘库DA-BH9010太原售
  19. C语言读取Excel文件
  20. 怎样使用fastai旧的api

热门文章

  1. oracle 表跟踪,Oracle表变化趋势追踪记录
  2. 潜意识的力量 (八)
  3. pc网站qq互联登录授权php版
  4. AI分割一切!智源提出通用分割模型SegGPT,「一通百通」的那种
  5. SLAM知识点——ORB算法
  6. Python边学边练(8):异常处理与调试
  7. akka mysql_使用akka作异步任务处理
  8. 技术认证 | 图扑软件携手华为云再创合作共赢新局面
  9. JAVA Spring Boot与海康威视摄像头的故事
  10. 【FPGA】Verilog:锁存器 Latch | RS Flip-Flop 与 D Flip-Flop 的实现