this指针的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 13:13:24
#include<iostream.h>
class sample
{
int n;

public:
sample(int i)
{
n=i;

}
int getn()
{
return n;
}
};

int add(const sample &s1,const sample &s2)
{
int sum=s1.getn()+s2.getn();
return sum;
}

void main()
{
sample a(100),b(200);
cout<<"sum="<<add(a,b)<<endl;
}
这个程序的add函数那里有点错误,
'getn' : cannot convert 'this' pointer from 'const class sample' to 'class sample &'
但是我不明白这个错误是什么意思?请高手帮我解释一下,形象点哦,不要抽象的~~3Q~~

没什么大的问题
你把关键字const去掉就行了
const控制的值不能改变的,
#include<iostream.h>
class sample
{
int n;

public:
sample(int i)
{
n=i;

}
int getn()
{
return n;
}
};

int add (sample &s1, sample &s2)
{
int sum=s1.getn()+s2.getn();
return sum;
}

void main()
{
sample a(100),b(200);
cout<<"sum="<<add(a,b)<<endl;
}

什么编译器抱错

编译器的问题,不用理会,加const是好习惯