64,654
社区成员
发帖
与我相关
我的任务
分享
#include <Windows.h>
#include <iostream>
using namespace std;
class COP
{
public:
COP(void){};
virtual ~COP(){};
COP operator=(COP obj) //没有这个重载函数或者返回值是COP类型的函数,则输出8,为什么?
{
return obj;
};
int m_a;
};
int _tmain(int argc, _TCHAR* argv[])
{
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj;
cout<<"a= "<<aobj.m_a<<endl; // 注释掉重载函数,则输出8,为什么?
return 0;
}
COP::Fun(COP obj)
{
return obj;
}
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj.Fun(bobj); //aobj.m_a = 1
>
COP::Fun(COP obj)
{
return obj;
}
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj; //aobj.m_a = 1
>
COP operator=(COP obj)
{
return obj;
}
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj; //aobj.m_a = 1
#include <Windows.h>
#include <iostream>
using namespace std;
class COP
{
public:
COP(void){};
virtual ~COP(){};
void operator=(COP obj) //没有这个重载函数或者返回值是COP类型的函数,则输出8,为什么?
{
this->m_a = obj.m_a; //这样改一下
//return obj;
};
int m_a;
};
int main(int argc, char* argv[])
{
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj;
cout<<"a= "<<aobj.m_a<<endl; // 注释掉重载函数,则输出8,为什么?
return 0;
}
>
COP operator=(COP obj) //没有这个重载函数或者返回值是COP类型的函数,则输出8,为什么?
{
return obj;
};
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj; //aobj.m_a = 1
>
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj; //aobj.m_a = 8
>
COP::Fun(COP obj)
{
return obj;
}
COP aobj,bobj;
aobj.m_a = 1;
bobj.m_a = 8;
aobj = bobj; //aobj.m_a = 1