ostream & operator<<(ostream &os, A &A0)
函数正在生成警告。朋友分类中的退货声明
下面是类的定义方式:
class A
{
public:
friend ostream & operator<<(ostream &os, A &A0);
A& operator=(string strSlot_);
A& operator+(string strSlot_);
A& operator+(const A &B);
A& operator=(const A &B);
string slotReturn();
A(string strSlot_);
A(const A &object);
void slotChange();
void sCout();
~A();
A();
private:
string strSlot;
int n;
};
ostream & operator<<(ostream &os, A &A0)
{
os << "strSlot = \"" << A0.slotReturn() << "\"" << endl;
}
string A::slotReturn()
{
return strSlot;
}
的问题是,什么是它应该返回? *this
似乎不起作用(因为它是friend
?)。 (这只是一个警告,但我仍然想知道)
此外,为什么我不能通过A &A0
作为常量(在这种情况下,错误是:“将'const''作为'this'传递' 'std :: string A :: slotReturn()'抛弃限定符“)的参数?
因为你需要使'slotReturn()'ac按照我的回答建议的方法。 – juanchopanza