Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何正确过载<&书信电报;操作人员_C++_Integer_Operator Overloading_Operators_Outputstream - Fatal编程技术网

C++ 如何正确过载<&书信电报;操作人员

C++ 如何正确过载<&书信电报;操作人员,c++,integer,operator-overloading,operators,outputstream,C++,Integer,Operator Overloading,Operators,Outputstream,我正在编写自己的integer类,它可以处理任何大小的整数。到目前为止,我已经成功地重载了以下操作符:C++流中的=、+、-*、、、、、、、、、> std::cout << a; std::cout 我怎样才能像你一样设置操作员呢。这是重载的正确操作符(假设它不是您的类的成员。)“但是如果我想将某些内容流式传输到我的对象中,这似乎是适用的。(也就是说,如果你把它弄对了,它就在左边。它是operator@xcdemon05好的,您可能将其声明为成员。它应该是非成员。@xcdemon0

我正在编写自己的integer类,它可以处理任何大小的整数。到目前为止,我已经成功地重载了以下操作符:C++流中的=、+、-*、、、、、、、、、>
std::cout << a;
std::cout

我怎样才能像你一样设置操作员呢。这是重载的正确操作符(假设它不是您的类的成员。)“但是如果我想将某些内容流式传输到我的对象中,这似乎是适用的。(也就是说,如果你把它弄对了,它就在左边。它是operator@xcdemon05好的,您可能将其声明为成员。它应该是非成员。@xcdemon05就像juanchopanza所说的,它应该是非成员函数,但请注意,您仍然可以通过将其设置为
朋友
非成员函数,直接在类中定义它不客气。
std::ostream& operator<<(std::ostream& os, const T& obj)
{
  // Write obj to stream
  return os;
}
std::cout << a;
operator<<(std::cout, a);
std::ostream& operator<<(std::ostream& os, const int &a);
std::cout << myBigInt;
operator<<(cstd::cout, myBigInt);
os << obj; // os is an ostream; obj is a T
std::ostream& operator<<(std::ostream& os, const T& obj)
{
  // write obj to stream
  return os;
}