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++_Vector_Operator Overloading - Fatal编程技术网

C++ 对向量中的派生类调用重载的

C++ 对向量中的派生类调用重载的,c++,vector,operator-overloading,C++,Vector,Operator Overloading,假设您已经实现了实现如下内容: class Base { public: virtual ostream& print(ostream&) const = 0; }; ostream& operator <<(ostream& out, const Base& base) { return base.print(out); } 你不能直接这么做@OliverCharlesworth实际上,它调用operator@JamesKanze

假设您已经实现了实现如下内容:

class Base
{
public:
  virtual ostream& print(ostream&) const = 0;
};

ostream& operator <<(ostream& out, const Base& base)
{
  return base.print(out);
}

你不能直接这么做@OliverCharlesworth实际上,它调用operator@JamesKanze:啊,是的,我认为OP已经进一步取消了引用。
class Base
{
public:
  virtual ostream& print(ostream&) const = 0;
};

ostream& operator <<(ostream& out, const Base& base)
{
  return base.print(out);
}