C++中重载<<的常见用法
// point.h#pragma once#include iostreamclass Point {public:Point(int x, int y);// ... 其他成员函数 ...private:int x_;int y_;// 方案 A声明为友元如果需要访问 private 成员friend std::ostream operator(std::ostream os, const Point p);// 方案 B如果只是用 public 接口甚至不需要 friend// int getX() const { return x_; }// int getY() const { return y_; }};// 注意函数原型必须写在类外面std::ostream operator(std::ostream os, const Point p);// point.cpp#include point.hPoint::Point(int x, int y) : x_(x), y_(y) {}// 实现 operatorstd::ostream operator(std::ostream os, const Point p) {os [ p.x_ , p.y_ ];return os;}#include point.h#include iostreamint main() {Point p(1, 2);std::cout p std::endl;}避免多重定义ODR规则如果你把函数的定义函数体直接写在.h文件里并且这个头文件被多个.cpp文件包含那么链接器会发现同一个函数有多个定义导致链接错误。.cpp文件通常只会被编译一次所以把定义放在这里最安全。减少编译依赖如果把实现放在.cpp里当你修改operator的内部逻辑时只需要重新编译point.cpp而不需要重新编译所有包含了point.h的文件。这能显著加快大型项目的编译速度。符合封装原则类的接口.h告诉用户“有什么”类的实现.cpp隐藏了“怎么做”。

相关新闻

OriginLab科研绘图进阶:从数据管理到出版级图表输出全流程精讲

OriginLab科研绘图进阶:从数据管理到出版级图表输出全流程精讲

1. 从“能用”到“好用”:Origin绘图的核心价值与常见误区 如果你在科研、工程或者数据分析领域工作,OriginLab(通常简称Origin)这个名字大概率不会陌生。它几乎是处理实验数据、绘制专业图表时的“标配”工具之一。但很多人的使用…

2026/8/3 3:50:52阅读更多 →
【AI副业生存底线】:没有这4类工程化能力,所有“提示词接单”都是短期幻觉

【AI副业生存底线】:没有这4类工程化能力,所有“提示词接单”都是短期幻觉

更多请点击: https://kaifayun.com 第一章:AI副业生存底线的工程化认知重构 AI副业不是“用AI写文案”或“接单跑模型”的零散劳动,而是以系统性工程思维构建可持续交付能力的认知跃迁。当把副业视为一个最小可行产品(MVP&#x…

2026/8/3 3:48:52阅读更多 →
基于NRF Connect SDK开发XIAO nRF54LM20A Sense:从环境搭建到低功耗蓝牙传感器应用

基于NRF Connect SDK开发XIAO nRF54LM20A Sense:从环境搭建到低功耗蓝牙传感器应用

1. 项目概述:为什么选择 XIAO nRF54LM20A Sense?如果你最近在关注嵌入式开发,特别是低功耗蓝牙和传感器融合应用,那么“XIAO nRF54LM20A Sense”这个名字一定不会陌生。它不再是那个简单的、需要自己焊接传感器的原型板&#xff0…

2026/8/3 3:48:52阅读更多 →
未来财务模拟:用算法预见你的理财人生

未来财务模拟:用算法预见你的理财人生

1. 项目概述:当理财遇见时间旅行想象一下,如果能和十年后的自己对话,你最想问什么?八成会关心"钱还够花吗"。这个看似科幻的场景,正是"未来的你理财"试图解决的核心问题——通过模拟未来人生轨迹的…

2026/8/3 5:00:02阅读更多 →
Dism++免费系统优化工具:四步诊断让Windows重获新生

Dism++免费系统优化工具:四步诊断让Windows重获新生

Dism免费系统优化工具:四步诊断让Windows重获新生 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否正在为C盘空间不足、系统启动缓慢或Windows…

2026/8/3 5:00:02阅读更多 →
终极跨平台B站客户端:wiliwili手柄操作全攻略,三步打造游戏主机的影音中心

终极跨平台B站客户端:wiliwili手柄操作全攻略,三步打造游戏主机的影音中心

终极跨平台B站客户端:wiliwili手柄操作全攻略,三步打造游戏主机的影音中心 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/…

2026/8/3 5:00:02阅读更多 →
KMS_VL_ALL_AIO智能激活脚本:Windows和Office一键激活终极指南

KMS_VL_ALL_AIO智能激活脚本:Windows和Office一键激活终极指南

KMS_VL_ALL_AIO智能激活脚本:Windows和Office一键激活终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活而烦恼吗?想要轻松管理Office办公套…

2026/8/3 5:00:02阅读更多 →
FigmaCN:让中文设计师彻底告别英文界面的设计助手

FigmaCN:让中文设计师彻底告别英文界面的设计助手

FigmaCN:让中文设计师彻底告别英文界面的设计助手 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 作为一名UI设计师,你是否曾经面对Figma密密麻麻的英文菜单感到…

2026/8/3 5:00:02阅读更多 →
[Android ] MTool 玩游戏神器 -自动汉化 +免root解锁游戏

[Android ] MTool 玩游戏神器 -自动汉化 +免root解锁游戏

[Android ] MTool 玩游戏神器 -自动汉化 免root解锁游戏 链接:https://pan.xunlei.com/s/VOz0sw2_zimVM7JzrtULK78XA1?pwdbnjr# 主要功能导入游戏后自动汉化游戏 解锁游戏数据,专为游戏打造的运行和汉化工具,主打多引擎兼容、一键汉化、…

2026/8/3 4:58:01阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 0:29:53阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/3 0:33:53阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/3 0:20:37阅读更多 →
3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:32阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/3 2:32:59阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/3 2:33:01阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/3 2:33:04阅读更多 →