首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
controller
fetch
case
client
version
php8
md5
char
integer
metadata
hashtable
sum
shell
web3
heap
runtime
const
cookie
uri
utf-8
less
testing
ascii
default
instance
input
jsp
frameworks
express
solr
function
javascript
dagger
match
stream
rsa
bytecode
vbscript
byte
emoji
io
node.js
php5
foreach
tags
command
range
regex
python3
hashset
数组
vba
bit
settings
int
dll
jar
scala
post
window
uml
import
string
format
buffer
php7
substring
cmd
java
future
httprequest
triggers
get
text
httpclient
golang
filter
ip
python2
当前位置:
开发笔记
>
编程语言
> 正文
操作符重载集锦
作者:2cz2x | 来源:互联网 | 2023-05-18 19:35
在C++中约定,对于++操作符重载,将不带参数的作为前项++,将带有一个int类型亚参数的重载作为后项++。#include<iostream>usingnamespacest
在C++中约定,对于++操作符重载 ,将不带参数的作为前项++,将带有一个int类型亚参数的重载作为后项++。
#include
<
iostream
>
using
namespace
std;
class
Data
...
{
private
:
int
d;
public
:
Data(
void
) : d(
0
)
...
{
}
Data(
int
i) : d(i)
...
{
}
Data(
const
Data
&
data) : d(data.d)
...
{
}
Data
&
operator
=
(
const
int
i)
...
{
d
=
i;
return
*
this
;
}
Data
&
operator
=
(
const
Data
&
data)
...
{
d
=
data.d;
return
*
this
;
}
bool
operator
==
(
const
int
i)
const
...
{
return
d
==
i;
}
bool
operator
==
(
const
Data
&
data)
const
...
{
return
data.d
==
d;
}
operator
int
(
void
)
const
...
{
return
d;
}
Data
operator
+
(
int
i)
const
...
{
return
Data(d
+
i);
}
Data
&
operator
+=
(
int
i)
...
{
d
+=
i;
return
*
this
;
}
Data
&
operator
+=
(
const
Data
&
data)
...
{
d
+=
data.d;
return
*
this
;
}
Data
operator
<<
(
const
int
i)
const
...
{
return
Data(d
<<
i);
}
Data
&
operator
<<=
(
const
int
i)
...
{
d
<<=
i;
return
*
this
;
}
Data
operator
>>
(
const
int
i)
const
...
{
return
Data(d
>>
i);
}
Data
&
operator
>>=
(
const
int
i)
...
{
d
>>=
i;
return
*
this
;
}
Data
*
operator
->
(
void
)
...
{
d
--
;
return
this
;
}
Data
&
operator
*
(
int
i)
...
{
d
*=
i;
return
*
this
;
}
Data
&
operator
*
(
const
Data
&
data)
...
{
d
*=
data.d;
return
*
this
;
}
void
operator
() (
void
)
...
{
cout
<<
"
This is a data!
"
<<
endl;
}
friend
ostream
&
operator
<<
(ostream
&
out
,
const
Data
*
data);
friend
int
operator
+
(
int
i,
const
Data
&
data);
int
GetData(
void
)
const
...
{
return
d;
}
}
;
int
operator
+
(
int
i,
const
Data
&
data)
...
{
return
i
+
data.d;
}
ostream
&
operator
<<
(ostream
&
out
,
const
Data
*
data)
...
{
out
<<
data
->
d
+
100
<<
endl;
return
out
;
}
class
Number
...
{
private
:
Data
*
pData;
int
n;
public
:
explicit
Number(
void
) : pData(NULL), n(
0
)
...
{
}
explicit
Number(Data
*
p) : pData(p), n(
1
)
...
{
}
Data
&
operator
*
(
void
)
const
...
{
return
*
pData;
}
int
GetData(
void
)
const
...
{
return
n;
}
}
;
int
main(
void
)
...
{
cout
<<
"
The answer is:
"
<<
3
+
Data(
5
)
<<
endl;
Data d(
5
);
cout
<<
d
<<
endl;
cout
<<
&
Data(
10
)
<<
endl;
cout
<<
"
Hey,
"
<<
Data(
0
)
->
GetData()
<<
endl;
Data d2
=
3
+
d
-
4
;
cout
<<
"
Hoo,
"
<<
d2
->
GetData()
<<
endl;
Data
*
p
=
&
d;
d
=
d
*
d2;
cout
<<
"
The data is:
"
<<
(
*
p).GetData()
<<
endl;
d();
Number n(
&
d);
cout
<<
"
The answer is:
"
<<
(
*
n).GetData()
<<
endl;
cout
<<
"
The answer is:
"
<<
n.GetData()
<<
endl;
return
0
;
}
c++
iostream
int
include
ios
const
stream
get
ci
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
input
Round C APAC Test 2017 Problem A. Monster Path
ProblemA.MonsterPathCodejamonisamobilegameinwhichmonstertrainer ...
[详细]
蜡笔小新 2023-10-12 19:20:22
default
开发笔记:实验7的文件读写操作
本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ...
[详细]
蜡笔小新 2023-12-12 17:48:18
char
Cookbook系列之Cpp:数值计算中的字符串转换方法
本文介绍了在Cpp中将字符串形式的数值转换为int或float等数值类型的方法,主要使用了strtol、strtod和strtoul函数。这些函数可以将以null结尾的字符串转换为long int、double或unsigned long类型的数值,且支持任意进制的字符串转换。相比之下,atoi函数只能转换十进制数值且没有错误返回。 ...
[详细]
蜡笔小新 2023-12-10 15:22:07
char
C++ 类的 this 指针 语法练习5
#include<iostream>#include<string>usingnamespacestd;定义一个类Studentclass ...
[详细]
蜡笔小新 2023-10-13 17:29:09
input
如何将fucntion sumVec转换为模板函数 - How do I turn the fucntion sumVec into a template function
Igotthiscode(IknowitsinSpanishIcantranslateifneeded)wheretheygivemethefunctionS ...
[详细]
蜡笔小新 2023-10-13 11:43:08
instance
C++语言学习(六)——二阶构造模式
C++语言学习(六)——二阶构造模式一、构造函数的问题构造函数存在的问题:A、构造函数只提供自动初始化成员变量的机会B、不能保证初始化逻辑 ...
[详细]
蜡笔小新 2023-10-12 20:35:24
input
九度OnlineJudge之1002:Grading问题的解决方法
本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ...
[详细]
蜡笔小新 2023-12-14 13:00:09
sum
C++省略号类型和参数个数不确定函数参数范例
本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ...
[详细]
蜡笔小新 2023-12-14 12:36:28
input
Open judge C16H: Magical Balls 快速幂+逆元问题解析
本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ...
[详细]
蜡笔小新 2023-12-14 12:03:27
char
油田地块的划分和计数方法
本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ...
[详细]
蜡笔小新 2023-12-14 09:18:20
const
P1651 塔 (动态规划) 的最大高度计算方法
本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ...
[详细]
蜡笔小新 2023-12-13 19:52:19
char
二叉树层序创建问题的解决方法
本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ...
[详细]
蜡笔小新 2023-12-13 18:20:50
input
[CF949D]Curfew 二分答案是个不错的开头,困难部分在于如何检查
本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ...
[详细]
蜡笔小新 2023-12-13 09:08:55
char
李逍遥寻找仙药的迷阵之旅
本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ...
[详细]
蜡笔小新 2023-12-12 13:59:33
utf-8
解决java开源项目apache commons email简单使用报错的方法
本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ...
[详细]
蜡笔小新 2023-12-09 17:35:16
2cz2x
这个家伙很懒,什么也没留下!
Tags | 热门标签
controller
fetch
case
client
version
php8
md5
char
integer
metadata
hashtable
sum
shell
web3
heap
runtime
const
cookie
uri
utf-8
less
testing
ascii
default
instance
input
jsp
frameworks
express
solr
RankList | 热门文章
1
ubuntu(四)Ubuntu18.04安装微信
2
快速排序——HDU 1425
3
企业级网盘哪个好 ,企业级硬盘
4
Hibernate教程(一)Hibernate简介
5
SetWindowLong 用法
6
事宜绑定机制简朴完成
7
HQL是什么HQL和SQL的区别
8
c3p0的三个gadget的学习
9
C语言学习笔记——操作符总结
10
阿里云服务器上搭建Discuz论坛
11
20140309技术交流活动总结
12
java 注解 数据库 框架_Java注解知多少之自定义Android数据库框架
13
android x5webview,截长图有不模糊的写法吗,现在截图出来都很模糊.有什么解决方法吗?
14
org.atmosphere.cpr.AtmosphereConfig.getBroadcasterFactory()方法的使用及代码示例
15
Spring Boot整合redis实例
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有