C++ 重载运算符

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:07:14
#include<iostream.h>
class age{
public:
int a;
fun=(age v);
};
age::fun=(age v)
{
a=v.a+5;
}
age k1,k2;
main()
{
k1.a=5;
k2=k1;
cout<<"is "<<k2.a<<"\n";
}

怎么有14个错误哦 不会哦?
到是没错误了 可是结果却是5
真搞不懂哦
你们编译哈看看

#include<iostream.h>

class age
{
public:
age &operator=(age &p);
int a;
};

age &age::operator=(age &p)
{
a = p.a;
return *this;
}

void main()
{
age k1, k2;

k1.a=5;
k2=k1;

cout<<"is "<<k2.a<<"\n";
} 重载函数不适用fun而使用operator,,不是嘛?

#include<iostream.h>
class age{
public:
int a;
void fun();
};
void age::fun()
{
a=a+5;
}
age k1,k2;
main()
{
k1.a=5;
k2=k1;
cout<<"is "<<k2.a<<"\n";
}

这样没错了

#include<iostream>
using namespace std;
class age{
public:
int a;
int fun(age v);
};
int age::fun(age v)
{
a=v.a+5;
return a;
}
age k1,k2;
int main()
{