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

C++运算符重载练习

#include <iostream>   // 引入输入输出流库
using namespace std;  // 使用标准命名空间,避免每次写 std::// 定义一个名为 Person 的类,表示“人”的概念
class Person
{
public:string name;         // 姓名int inNumberTail;    // 身份证尾号(最后6位)// 重载 == 运算符,用于判断两个 Person 对象是否“相等”// 根据需求:如果两个人的名字相同且身份证尾号相同,则认为他们是同一个人bool operator==(Person pTmp);
};// 实现 == 运算符重载函数
// 参数是另一个 Person 对象(pTmp)
// 返回值是布尔类型,表示当前对象(this)和传入的对象是否相等
bool Person::operator==(Person pTmp){// 比较两个对象的 name 和 inNumberTail 是否都相等return pTmp.name == name && pTmp.inNumberTail == inNumberTail;
}// 主函数,程序的入口点
int main()
{// 创建两个 Person 对象 p1 和 p2,并初始化它们的成员变量Person p1;p1.name = "张三";            // 设置姓名为“张三”p1.inNumberTail = 412508;    // 设置身份证尾号为 412508Person p2;p2.name = "张三";            // 设置姓名为“张三”p2.inNumberTail = 412508;    // 设置身份证尾号也为 412508// 使用重载的 == 运算符比较 p1 和 p2bool ret = p1 == p2;// 输出比较结果(true 或 false)// 在 C++ 中,true 显示为 1,false 显示为 0cout << ret << endl;  // 预期输出 1,因为两个对象的 name 和 inNumberTail 相同return 0;  // 程序正常结束,返回 0
}

总结:

  • 功能:该程序定义了一个 Person 类,并通过重载 == 运算符来判断两个 Person 对象是否代表同一个人。
  • 判断依据:如果两个对象的 name 和 inNumberTail(身份证尾号)都相同,则认为这两个对象“相等”。
  • 测试用例:在 main() 函数中创建了两个完全相同的 Person 对象,并使用 == 比较它们,输出结果为 1(即 true)。

✅ 如果你需要进一步扩展这个类(比如添加构造函数、封装成员变量、处理更多个人信息),可以继续优化。

http://www.xdnf.cn/news/6691.html

相关文章:

  • Android 中使用通知(Kotlin 版)
  • PPT 转高精度 PDF API 接口
  • 【流程控制结构】
  • Vue.js教学第一章: Vue 简介与环境搭建
  • neo4j框架:java安装教程
  • 《项目管理知行合一:知识体系构建与实战应用指南》
  • 十步法基于Vanna打造高效便捷的 SQL 生成与业务洞察工具
  • 消息队列与Kafka基础:从概念到集群部署
  • 文件上传Ⅲ
  • 基于React的高德地图api教程007:椭圆的绘制、编辑和删除
  • 【项目】自主实现HTTP服务器:从Socket到CGI全流程解析
  • C++ --- new与delete
  • upload-labs通关笔记-第8关 文件上传之点绕过
  • visio下载安装教程超详细图文教程(附完整安装包)|visio2024
  • 《解锁数字藏品交易系统的底层密码:区块链架构抉择》
  • HNUST湖南科技大学-安卓Android期中复习
  • WebRTC中的几个Channel
  • 【串流VR手势】Pico 4 Ultra Enterprise 在 SteamVR 企业串流中无法识别手势的问题排查与解决过程(Pico4UE串流手势问题)
  • uni-app 中适配 App 平台
  • UML活动图零基础入门:1 分钟掌握核心逻辑(附实战模板)
  • k8s部署grafana
  • Ai Agent革命:不是流程驱动,而是模型为魂
  • Perl语言深度考查:从文本处理到正则表达式的全面掌握
  • 地下停车场调频广播无线覆盖系统:融合精准选频光纤传输均匀覆盖于一体的创新型地下车库广播无线覆盖平台
  • 【数据开发】埋点体系的讲解 - 埋点方式、原理、优缺点
  • C#里使用Prism.Core的例子
  • 技术剖析|线性代数之特征值分解,支撑AI算法的数学原理
  • 掌握 LangChain 文档处理核心:Document Loaders 与 Text Splitters 全解析
  • 我设计的一个安全的 web 系统用户密码管理流程
  • GpuGeek 实操指南:So-VITS-SVC 语音合成与 Stable Diffusion 文生图双模型搭建,融合即梦 AI 的深度实践