如何实施<<和>>指针?

时间:2013-11-24 05:44:34

标签: c++ pointers

我需要得到'<<'和'>>'用于指针,因为我在下面为我的驱动程序在main编码。

int main()
{
using namespace std;


cout << "Welcome to My TrashCan Program!" << endl;

TrashCan myCan;
TrashCan yourCan;
TrashCan empty( 0, 0 );
TrashCan * ptrCan = new TrashCan( 0, 0 );
TrashCan * nullCan = NULL; // pointer to null

// using pointers here
cin >> ptrCan;
cin >> nullCan;  // 

cout << ptrCan << endl;
cout << nullCan << endl;  //
return 0;}

我假设我必须在某处实现这些功能,但我不太确定如何:

friend std::ostream& operator <<( std::ostream& outs, const TrashCan * drive );
friend std::istream& operator >>( std::istream& ins, TrashCan * & drive );

1 个答案:

答案 0 :(得分:5)

cin读取指针几乎不会起作用。这就是为什么语言默认不允许你。像这样的一行:

cin >> ptrCan;
如果允许的话,

会丢失(即泄漏)你从new TrashCan( 0, 0 );前几行获得的对象。

请解释一下你真正想做的事情。