1 //关系运算符重载 < = > !=
2 #include <iostream>
3 #include <string>
4 using namespace std;
5
6
7 //重载关系运算符
8 class Person
9 {
10 public:
11 Person(string name, int age)
12 {
13 m_Name = name;
14 m_Age = age;
15 }
16
17
18 //重载 == 号
19 bool operator==(Person& p)
20 {
21 if (this->m_Name == p.m_Name && this->m_Age == p.m_Age)
22 {
23 return true;
24 }
25 return false;
26 }
27
28
29 bool operator !=(Person& p)
30 {
31 if (this->m_Name == p.m_Name && this->m_Age == p.m_Age)
32 {
33 return false;
34 }
35 return true;
36 }
37
38 string m_Name;
39 int m_Age;
40
41
42 };
43
44 void test01()
45 {
46 Person p1("Tom", 18);
47
48 Person p2("Tom", 20);
49
50 if (p1 == p2)
51 {
52 cout << "p1和 p2 是相等的!" << endl;
53 }
54 else
55 {
56 cout << "p1和 p2 是不不不不相等的!" << endl;
57 }
58
59
60 if (p1 !=p2)
61 {
62 cout << "p1和 p2 是不相等的!" << endl;
63 }
64 else
65 {
66 cout << "p1和 p2 是相等的!" << endl;
67 }
68 }
69
70 int main()
71 {
72 test01();
73 }

C++ //关系运算符重载 < = > !=的更多相关文章

  1. C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)

    下面来进行这段代码的分析: struct node {  //定义一个结构体node(节点)    int x;    int y;    int len;   //node中有3个成员变量x,y,l ...

  2. c++运算符重载---20

    原创博文,转载请标明出处--周学伟 http://www.cnblogs.com/zxouxuewei/ c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程 ...

  3. C++学习(12)—— 运算符重载

    运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1.加号运算符重载 作用:实现两个自定义数据类型相加的运算 #include <iostream> #i ...

  4. 【C/C++开发】运算符重载

    c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁.高效.在c++中不止函数可以重载,运算符也可以重载.由于一般数据类型间的运算符没有重载的必要, ...

  5. C++ Primer注意事项11_运算符重载_算术/关系运算符_下标运算符

    1.算术/关系运算符 平时,定义成非成员函数以同意左右側运算对象进行转换.由于这些运算符一般不须要改变运算对象的状态,所以形參都是常量的引用. 以"+"号运算符为例: Person ...

  6. C++运算符重载

    C++运算符重载 基本知识 重载的运算符是具有特殊名字的函数,他们的名字由关键字operator和其后要定义的运算符号共同组成. 运算符可以重载为成员函数和非成员函数.当一个重载的运算符是成员函数时, ...

  7. PoEduo - C++阶段班【Po学校】-Lesson03-5_运算符重载- 第7天

    PoEduo - Lesson03-5_运算符重载- 第7天 复习前面的知识点 空类会自动生成哪些默认函数 6个默认函数    1  构造  2  析构   3  赋值  4 拷贝构造  5 oper ...

  8. C++中的运算符重载

    首先思考以下几个问题: 1.什么是运算符重载? 2.为什么要重载运算符,它有什么用? 3.可以重载哪些运算符? 4.重载运算符有哪些规则? 一.基本概念 我们在程序中使用各种操作符,比如加(+).赋值 ...

  9. C# 类型运算符重载在类继承中的调用测试

    这是一篇晦涩难懂的片面的研究 一,简单的继承层次 class CA { } class CB : CA{ } class CC : CB{ } } void Test(CA oa){//CATest ...

随机推荐

  1. Vue前端基础学习

    vue-cli vue-cli 官方提供的一个脚手架(预先定义好的目录结构及基础代码,咱们在创建Maven项目的时可以选择创建一个骨架项目,这个骨架项目就是脚手架),用于快速生成一个vue项目模板 主 ...

  2. Samba常见漏洞利用

    Samba简介 Samba是linux和unix系统上实现smb协议的一个免费软件,由服务器及客户端程序构成,Samba是面向Linux和Unix环境的Windows互操作性套件.它适用于在可能包括L ...

  3. 浅析WebSocket 原理

    浅析WebSocket 原理 长恨此身非我有,何时忘却营营. 简介:先简单了解下WebSocket 原理,日后的使用中再进一步深入研究~ 一.什么是WebSocket WebSocket 是HTML5 ...

  4. IDEA+Hadoop2.10.1+Zookeeper3.4.10+Hbase 2.3.5 操作JavaAPI

    在此之前要配置好三节点的hadoop集群,zookeeper集群,并启动它们,然后再配置好HBase环境 本文只是HBase2.3.5API操作作相应说明,如果前面环境还没有配置好,可以翻看我之前的博 ...

  5. nmon打开nmon文件出现 运行时错误13类型不匹配问题解决

    根据nmon工具安装及nmon analyser的使用 - 空谷幽兰LDD - 博客园 (cnblogs.com)文中,用nmon_analyse去打开监控到的nmon文件,出几个报错. 1 用WPS ...

  6. docker挂载数据卷

    1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...

  7. asp.net mvc请求流程

    收对应用程序的第一个请求 > 执行路由 > 创建 MVC 请求处理程序 > 创建控制器 > 执行控制器 > 调用操作 > 执行结果

  8. 家庭账本开发day04

    对之前的构架进行修改,对成员类新加属性余额,在进行账单的新增时 ,对余额进行相应的修改.并且对账单类加入属性:id方便之后的查询和 删除操作

  9. 关于java异常处理的思考

    学习java的过程中,初学者更多的是为了实验而写代码,而不考虑实际情况中的人机交互过程中的一些问题. 在java项目中,更多的用户不会因为你给了某些限制提醒,他就一定会按照你所给的提示来输入或者操作, ...

  10. Java基础00-集合基础15

    1. 集合基础 1.1 集合概述 1.2 ArrayList构造方法和添加方法 代码示例: 想通过指定索引添加到最后一个位置的话就填写,现有索引的+1,比如3个索引就是4.如果在指定索引的位置添加没有 ...