注册 登录
编程论坛 C++教室

[求助]关于操作符的重载问题

海子星竹 发布于 2007-09-14 12:10, 523 次点击
#include <iostream>
using namespace std;

class Test
{
public:
Test(int a)
{
Test::a = a;
}
Test operator + (Test &temp) //就是这个函数
{
Test result(this->a + temp.a);
return result;
}
public:
int a;
};

int main()
{
Test a(100);
a = a + Test(10);
a = Test(10) + a;
cout<<a.a<<endl;
a = 50 + 1;
cout<<a.a<<endl;
system("pause");
return 0;
}
5 回复
#2
aipb20072007-09-14 12:58
Test operator + (const Test &temp) //就是这个函数


你完全可以把临时变量看作一个常数。
#3
sunkaidong2007-09-14 13:19
受教了.谢谢啊.可是为什么要const呢?刚学到这不是很明白
#4
aipb20072007-09-14 13:28
#5
海子星竹2007-09-14 18:43

理解
谢谢版主

#6
lzwyelang2007-09-15 15:01

因为当被引用是一个常变量或着是个常数的话,那么就说明該变量或数值是不可改变的,那么在定义引用的时候,也必须保证引用变量也是个常量。不知道这样理解对不对

1