c++按引用传递对象

2025-01-31 15:55:47
推荐回答(2个)
回答1:

cat *functiontwo(cat *thecat)
{
cout<<"2222222222";
return thecat;
}
教你一个简单的判断返回类型的办法吧。
请看你返回的是cat *——这是一个cat类型的指针
你返回的东东要能补全它cat *thecat;

联想一下int f(){...}在写返回是应该写return t;——假设t为一个int。运用补全法:int t;和t的声明一样就说明你的返回是正确的。

这方法简单易记,楼主想在cat *thecat的thecat前加上一个*就成了cat **thecat成了指向指针的指针

回答2:

#include
using namespace std;

class cat
{
public:
cat(){cout<<"begin>>>>>>>>>>>"< cat(cat &){cout<<"again!!!!!!!!!!"< ~cat(){cout<<"over~~~~~~~~~~~~~~~";}
};

cat *functiontwo(cat & thecat); //引用是&,你的写法是传递的指针
int main()
{
cat mao;
functiontwo(mao);
return 0;
}

cat *functiontwo(cat & thecat)
{
cout<<"2222222222";
return & thecat; //取地址,即指针
}

你仔细的理解一下引用和指针吧。