#include"iostream"
using namespace std;
这里用的引用 (指针常量) 如果参数用ostream * const cout 返回值return *cout 函数前的返回值类型该怎么写呢
ostream& operator<<(ostream &cout, Person &p)
{
cout << "m_A=" << p.m_A << "m_B=" << p.m_B;
return cout;//这句话的作用是返回后可以用cout连续输出
}
class Person//自己创建一个类
{
public:
int m_A;
int m_B;
};
void test01()
{
Person p;
p.m_A = 10;
p.m_B = 10;
cout << p;
}
int main()
{
test01();
system("pause");
return 0;
}
iostream的这种运算符重载写法是定死的,用指针的话就不能直接用cout了。
还有,谁告诉你引用跟指针有关系的?这个说法完全错误,C++语法标准没有规定引用要如何实现,只是很多编译器选用了指针。更何况引用就算被实现为指针的封装,也不存在直接取出其内部指针的做法,除非新建一个指针。引用绝对不能理解成指针。
ostream* operator<<(ostream * const cout, Person &p)
{
*cout << "m_A=" << p.m_A << "m_B=" << p.m_B;
return cout;//这句话的作用是返回后可以用cout连续输出
}