社区
C++ 语言
帖子详情
写运算符重载函数时,可以不写返回类型吗?
lihuanmei
2009-04-02 03:39:05
//写运算符重载函数时,可以不写返回类型吗?
operator = (sc &s) //函数可以不写返回类型吗?前面什么都不写,编译时也不报错,这是为什么呢?
{
delete p;
p = new char[strlen(s.p) + 1];
strcpy (p, s.p);
}
...全文
114
3
打赏
收藏
写运算符重载函数时,可以不写返回类型吗?
//写运算符重载函数时,可以不写返回类型吗? operator = (sc &s) //函数可以不写返回类型吗?前面什么都不写,编译时也不报错,这是为什么呢? { delete p; p = new char[strlen(s.p) + 1]; strcpy (p, s.p); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rain208
2009-04-03
打赏
举报
回复
标准实现的应该有返回值
编译器实现不同
有的不写返回值就报错
有的不报错 编译运行都能通过
lihuanmei
2009-04-03
打赏
举报
回复
hh,请具体说明问题!谢谢!
taodm
2009-04-02
打赏
举报
回复
恭喜你用了一个“优秀”的编译器呗。
VC6吧?换个好点的编译器吧,别用VC6浪费生命了。
重载运算符
时
的参数和
返回
类型
要用引用的说明
一·我们举个必须要用重载运算符和重载运算符
时
必须要使用引用的例子 #include #pragma pack(8) using namespace std; class Myclass { private: char* str; public: Myclass(char* str1 = "default string") { str = new char[strlen(
C++:
运算符重载
与类的赋值
运算符重载
函数
运算符重载
c++重载运算符和重载
函数
C++ 允许在同一作用域中的某个和指定多个定义,分别称为和。重载声明是指一个与之前已经在该作用域内声明过的
函数
或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个或
时
,编译器通过把您所使用的参数
类型
与定义中的参数
类型
进行比较,决定选用最合适的定义。选择最合适的重载
函数
或重载运算符的过程,称为。
C++——运算符的重载
运算符重载
,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据
类型
。让类
类型
的对象像基本数据
类型
一样去操作 例如:可以实现对象+,-* / % ==!运算符的重载实际是一种特殊的
函数
重载,必须定义一个
函数
,并告诉C++编译器,当遇到该重载的运算符
时
调用此
函数
。这个
函数
叫做
运算符重载
函数
,通常为类的成员
函数
。定义
运算符重载
函数
的一般格式:
返回
值
类型
类名::operator重载的运算符(参数表) {……}operator是关键字,它与重载的运算符一起构成
函数
名。
函数
重载和
运算符重载
的区别
函数
重载与
运算符重载
对比摘要
函数
重载和
运算符重载
是C++中两种不同的多态实现方式。
函数
重载允许在同一作用域内定义多个同名
函数
,通过参数列表区分(参数
类型
、数量或顺序不同)。
运算符重载
则是对已有运算符赋予新含义,使其支持自定义
类型
的操作。 关键区别包括: 参数数量:
函数
重载参数数量不限,
运算符重载
受原运算符操作数限制 可重载范围:
函数
重载适用于所有
函数
,
运算符重载
只能重载已有运算符 调用方式:
函数
重载显式调用,
运算符重载
可通过运算符符号或operator@形式调用
返回
类型
:
函数
重载不依赖
返回
类型
区分,运算
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章