首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

operator函数是不是可以定义为普通函数,用来对内置类型进行操作

2013-08-21 
operator函数是否可以定义为普通函数,用来对内置类型进行操作?比如说定义一个operator++(),执行x+y的操作(

operator函数是否可以定义为普通函数,用来对内置类型进行操作?
比如说定义一个operator++(),执行x+y的操作(x和y的类型为int),不知道可以吗?内置类型的操作符是怎么定义的?operator函数称之为重载运算符函数,是不是类的内部自动生成了这样的函数,我们定义了这样的函数就是重载?
[解决办法]
重载就是函数重名。定义了和其他函数同名的函数。
内置类型的运算符由编译器,隐性定义。

虽然编译器可能,并没有真的实现内置类型的运算符函数。但是编译器可以对每一种内置类型执行运算(
编译期计算,如常量表达式的计算,以及一些对一些变量计算的优化),
并且可以为内置类型的表达式,安排对应的运算代码。

可以视为,内置类型的 operator 函数,都已经由编译器实现了定义。
这样,你为自己定义的类型,定义operator 函数,就是函数重名了,所以就是重载了。

热点排行