社区
C++ 语言
帖子详情
谁帮忙解释一下操作符重载。
atllover
2003-10-09 11:42:31
我开始看了一些,这个知识,操作符重载,主要的应用(c++)试哪个方面呀。
MyType operator+(MyType opp,MyType ood)
这是重载‘+‘的。
前面的MyType示返回值,后面的两个MyType是参数。
我胡乱写的,不只对否。
也和一般的函数时很相似的。
...全文
95
13
打赏
收藏
谁帮忙解释一下操作符重载。
我开始看了一些,这个知识,操作符重载,主要的应用(c++)试哪个方面呀。 MyType operator+(MyType opp,MyType ood) 这是重载‘+‘的。 前面的MyType示返回值,后面的两个MyType是参数。 我胡乱写的,不只对否。 也和一般的函数时很相似的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
williamVII
2003-10-18
打赏
举报
回复
操作符重载主要是为了类的使用都写代码方便,
操作符重载其实都可以用函数重载来实现,
但这样用起来就不方便了.
aron13
2003-10-18
打赏
举报
回复
实际上你就可以把它理解为一个方法。也就是函数。它有和其它方法一样的用法。只是改变了
操作符代表的意思。到底想代表什么,那要你自己才知道。还有包括“<<",">>"这些其实也是
被重载过了的。
robbie24
2003-10-18
打赏
举报
回复
呵呵,"重载是多态的一种手段"
算是吧,静态下的多态.
liem
2003-10-18
打赏
举报
回复
如果运算符是二目运算,那么用成员函数重载时用一个参数;用友元重载时,要二个参数
RookieStar
2003-10-18
打赏
举报
回复
对operator + 一般这样重载:
1. 类的成员函数:MyType& operator + (const MyType& rhs);
2. 类的友元函数:friend MyType& operator + (const MyType& lhs,const MyType& rhs);
xbpeter
2003-10-17
打赏
举报
回复
重载是多态的一种手段,如c++中的"+"运算只能实现实数的加,如要实现复数的加,就要用重载实现
5510
2003-10-12
打赏
举报
回复
MyType operator+(MyType opp,MyType ood)
有些只能做友员重载 << >>
而有些只能做成员函数重载 ()[]等
有些不能重载 :: -〉等
Wolf0403
2003-10-09
打赏
举报
回复
操作符重载一是为了提供简洁美观的书写方式,二是为了保证 STL 应用中的 concept,例如 sort 需要 operator< 的重载等。
class A
{
public:
operator bool(); // 重载转换操作符 (1)
friend A operator+(const A&, const A&); // 重载加号 (2)
friend bool operator<(const A&, const A&); // 重载 < 符号 (2)
void* operator new(size_t); (3)
void operator delete(void*); (3)
friend std::ostream& operator<<(ostream&, const A&);// 提供 cout << 形式的输出(4)
};
(1):可以提供与任意类型的转换
(2):可以为成员函数/友元函数。如果数据公开,如 struct 可以是非友元函数。
(3):必须是成员函数。
(4):必须是友元函数,因为第一个操作数是 ostream 对象
atllover
2003-10-09
打赏
举报
回复
比如说,模版,是com的基础,虚函数是为接口的实现帮忙等等,这方面的应用。谢谢了。
catface
2003-10-09
打赏
举报
回复
重载不是具体用哪个方面 只要你觉得重载比较能清晰说明问题
就可以重载
atllover
2003-10-09
打赏
举报
回复
friend A operator+(const A&, const A&)
friend 是友元,A是返回类型,两个参数在'+'的两边。
对不起,确实很弱,还没好好看,今天晚上再看。
对么?
void* operator new(size_t);
void*是返回值,size_t是int或是char等等么?
还有浅拷贝,就是int a=5;这种拷贝么?
Wolf0403
2003-10-09
打赏
举报
回复
楼上说的是。譬如一个 String 类
class String
{
char * m_str;
String& operator=(const String& strSrc)
{
m_str = new char[strlen(strSrc.m_str) + 1];
strncpy(m_str, strSrc.m_str, strlen(strSrc.m_str) + 1);
return *this;
}
};
如果用默认赋值函数会让两个 String 对象指向同一个底层字符串。必须重载 operator= 使之进行深拷贝
ballguest
2003-10-09
打赏
举报
回复
浅拷贝不合适时,就必须提供成员赋值运算符号,即重载赋值运算符,
暖通工程空调末端控制系统原理设计:数据中心环境调控技术方案
内容概要:本文档为《附件1-2设施-C05-023改1_空调末端控制原理图.pdf》,是一份关于空调末端控制系统的设计图纸文件,主要包含工程项目的基本信息、设计单位及相关人员签署信息,以及空调末端控制系统的平面示意图和关键技术标识。该图用于指导空调系统在建筑中的具体实施与控制逻辑配置,涵盖暖通专业的设计内容,反映了数据中心或大型建筑中空调末端的控制原理布局。; 适合人群:从事暖通空调设计、楼宇自动化控制、数据中心基础设施建设的相关工程技术人员及项目管理人员。; 使用场景及目标:①用于研发类建筑或数据中心空调系统的控制设计参考;②指导空调末端设备的安装与调试;③作为专业间协调和技术交底的技术依据; 阅读建议:此文档为工程图纸类文件,需结合相关设计规范与现场实际情况进行解读,建议配合其他专业图纸(如电气、结构等)综合使用,确保系统设计的完整性与可实施性。
CCF推荐期刊会议目录查询工具
CCF推荐期刊会议目录查询工具
AI赋能企业创新:数智化转型驱动技术突破与实践路径.docx
深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化服务,推动科技创新与产业创新智能化发展。
5b565金丰旺零售商经营平台0_springboot+vue.zip
项目资源包含:可运行源码+sql文件+ 源码都是精心调试,可以有偿支持部署,谢谢支持。 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 有任何使用上的问题,欢迎随时与博主沟通,博主看到后会第一时间及时解答。 开发语言:Java 框架:SpringBoot 技术:Vue JDK版本:JDK8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat12 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 系统是一个很好的项目,结合了后端(Spring Boot)、前端(Vue.js)技术,实现了前后端分离。
AI驱动下企业创新迈向全链路数智化转型之路.docx
深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化服务,推动科技创新与产业创新智能化发展。
C++ 语言
65,208
社区成员
250,519
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章