首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

this的引用,该如何解决

2012-02-24 
this的引用#includestring#includeiostreamusing namespace stdstruct X{private:int lenchar *ptr

this的引用
#include<string>
#include<iostream>
using namespace std;
struct X{
private:
int len;
char *ptr;
public:
int GetLen(X* const THIS)
{
return THIS->len;
}
char *GetPtr(X* const THIS)
{
return THIS->ptr;
}
X& Set(X* const,char *);
X& Cat(X* const,char *);
X& Copy(X* const,X&);
void Print(X* const);
};
X& X::Set(X* const THIS,char *pc){
THIS->len=strlen(pc);
THIS->ptr=new char[THIS->len];
strcpy(THIS->ptr,pc);
return *THIS;
}
X& X::Cat(X* const THIS,char *pc){
THIS->len+=strlen(pc);
strcat(THIS->ptr,pc);
return *THIS;
}
X& X::Copy(X* const THIS,X& x){
THIS->Set(THIS,x.GetPtr(&x));
return *THIS;
}
void X::Print(X* const THIS){
cout<<THIS->ptr<<endl;
}
int main(){
X xobj1;
xobj1.Set(&xobj1,"abcd").Cat(&xobj1,"efgh");
xobj1.Print(&xobj1);
X xobj2;
xobj2.Copy(&xobj2,xobj1).Cat(&xobj2,"ijkl");
xobj2.Print(&xobj2);
}
这段代码中“X&”以及“::”的作用?

[解决办法]
X& 返回的是引用,在此题中就是返回那个结构体X (*this)

::作用域,这个说明这个函数是那个结构体X(作用域)下面的函数
[解决办法]

探讨
X&amp; 返回的是引用,在此题中就是返回那个结构体X (*this)

::作用域,这个说明这个函数是那个结构体X(作用域)下面的函数

[解决办法]
探讨
X&amp; 返回的是引用,在此题中就是返回那个结构体X (*this)

::作用域,这个说明这个函数是那个结构体X(作用域)下面的函数

热点排行