class test
{
private:
char *Name;
public:
void setName(char *Name)
{
this->Name=Name;
}
void showName()
{
cout<<"名字为:"<<Name<<endl;
}
};
test* getAddress()
{
test t;
t.setName("比尔盖茨");
return &t; //这里返回的是一个自动变量的地址.所以该地址的有效区域在该函数内
}
int main()
{
test *t=getAddress();
t->showName(); //返回后调用地址指向本身的方法..所以打印出来的不是“比尔盖茨”
system("pause");
}
//所以我们应该改写成..
先执行以上的方法试试.........
test getAddress()
{
test t;
t.setName("比尔盖茨");
return t;
}
方法有很多种.不多写