设为首页 加入收藏

TOP

C++ 重载运算符简单例子
2018-03-02 06:57:08 】 浏览:85
Tags:重载 运算 简单 例子

我们可以重定义或重载大部分 C++ 内置的运算符。这样,就能使用自定义类型的运算符。


重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。
Box operator+(const Box&);


声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果我们定义上面的函数为类的非成员函数,那么我们需要为每次操作传递两个参数,如下所示:
Box operator+(const Box&, const Box&);


下面的实例使用成员函数演示了运算符重载的概念。如下所示:


#include <iostream>


using namespace std;


class Person{
public:
    Person(int num) : age(num){}
   
    /* 类成员函数 */
    int operator+(const Person &temp){
        return (this->age+temp.age);
    }
   
    int age;
};


/* 非类成员函数 */
int operator-(const Person &a, const Person &b){
    return (a.age-b.age);
}


int main()
{
    Person John(20), Tom(18);


    cout << John+Tom << endl;
    cout << John-Tom << endl;
   
    return 0;
}


--------------------------------------------------------------------------------


可重载运算符/不可重载运算符


下面是可重载的运算符列表:


下面是不可重载的运算符列表:


. :成员访问运算符
.*, ->* :成员指针访问运算符
:: :域运算符
sizeof :长度运算符
?: :条件运算符
# :预处理符号


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java面试题库及答案解析 下一篇Netty编解码技术和UDP实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目