您的位置:首页 > 编程语言 > C语言/C++

C++中运算符重载

2016-01-15 17:23 337 查看
下面代码实现+、()、=的运算符重载,仅供参考。

#include <iostream>

class Body{
public:
Body(int a = 0):m_a(a) {}
~Body() {}

#include <iostream>

class Body{
public:
Body(int a = 0):m_a(a) {}
~Body() {}

Body(const Body& a) {
this -> m_a = a.m_a;
}
// +运算符重载
Body operator+(const Body& a) {
Body bd;
bd.m_a = this -> m_a + a.m_a;
return bd;
}
// ()运算符重载
int operator()(int i) {
return this -> m_a + i;
}
// =运算符重载
Body& operator=(const Body& a) {
this -> m_a = a.m_a;
return *this;
}

int get() {
return m_a;
}

private:
int m_a;
};

int main(int argc, char** args) {
Body a(1);
Body b(100);
Body result = a = b;
std::cout << "a: " << result.get() << std::endl;
std::cout << (a + b).get() << std::endl;
std::cout << a(999) << std::endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: