我有一些代码会重载<<运营商打印出我使用过这个网站的一些数据并且几乎复制了代码
https://msdn.microsoft.com/en-us/library/1z2f6c2k.aspx
我可以让代码正常工作,但不是我给出的例子。
正如您可以通过链接看到的那样:
// overload_date.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
class Date
{
int mo, da, yr;
public:
Date(int m, int d, int y)
{
mo = m; da = d; yr = y;
}
friend ostream& operator<<(ostream& os, const Date& dt);
};
ostream& operator<<(ostream& os, const Date& dt)
{
os << dt.mo << '/' << dt.da << '/' << dt.yr;
return os;
}
int main()
{
Date dt(5, 6, 92);
cout << dt;
}
但是对于我的例子,我创建指向对象的指针而不是直接创建值,所以我有类似的东西:
Item *it;
it = new Screwdriver("big", 11);
cout << it;
但是这只会打印出指针!我如何取消引用这个?或者这是最好的方法吗?
答案 0 :(得分:0)
见下面的代码:
Item *it;
it = new Screwdriver("big", 11);
cout << *it;
C ++有取消引用运算符*
从指针指向它指向的值。