真锋
永远保持一颗学习和专注的心
嵌入式视觉

C++运算符重载和函数重载

所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。

C++函数重载

在同一个作用域内,可以声明几个功能类似的函数,但这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。不能仅仅通过函数返回类型的不同来重载函数。

C++运算符重载

运算符重载其实就是定义一个函数,在函数体内实现想要的功能,当用到该运算符时,编译器会自动调用这个函数。也就是说,运算符重载是通过函数实现的,它本质上是函数重载。

运算符重载的格式为:

返回值类型 operator 运算符名称 (形参表列){
    //TODO:
}

operator是关键字,专门用于定义重载运算符的函数。我们可以将operator 运算符名称这一部分看做函数名。

下面看一个例子,以下代码定义了一个复数类,通过运算符重载,可以用+号实现复数的加法运算:

赞赏
更多干货文章,欢迎关注我的微信公众号-嵌入式视觉。

发表回复

textsms
account_circle
email

嵌入式视觉

C++运算符重载和函数重载
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算…
扫描二维码继续阅读
2019-04-24