Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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++。我有一个我正在做的项目 要求我像这样重载插入运算符: someObject << “stringOne” << “stringTwo” << stringThree <<; someObject_C++_Operator Overloading_Insertion - Fatal编程技术网

带字符串的插入重载到对象 C++。我有一个我正在做的项目 要求我像这样重载插入运算符: someObject << “stringOne” << “stringTwo” << stringThree <<; someObject

带字符串的插入重载到对象 C++。我有一个我正在做的项目 要求我像这样重载插入运算符: someObject << “stringOne” << “stringTwo” << stringThree <<; someObject,c++,operator-overloading,insertion,C++,Operator Overloading,Insertion,你可以只做操作符你可以只做操作符我想你需要为你的类重载插入操作符 #include <iostream> #include <string> #include <vector> using namespace std; class A { public: A & operator <<(const std::string & s) { v.push_back(s); return *this; }

你可以只做
操作符你可以只做
操作符我想你需要为你的类重载插入操作符

#include <iostream>
#include <string>
#include <vector>

using namespace std;

class A {
public:

  A & operator <<(const std::string & s) {
    v.push_back(s);
    return *this;
  }

  void print() const {
    for (auto & s: v) {
      cout << "element:" << s << endl;
    }
  }

private:
  vector<string> v;
};

int main() {
  A a;
  string s = "string object";

  a << "test" << "string" << s;

  a.print();

  return 0;
}
#包括
#包括
#包括
使用名称空间std;
甲级{
公众:

A&operator我认为您需要为您的类重载插入运算符

#include <iostream>
#include <string>
#include <vector>

using namespace std;

class A {
public:

  A & operator <<(const std::string & s) {
    v.push_back(s);
    return *this;
  }

  void print() const {
    for (auto & s: v) {
      cout << "element:" << s << endl;
    }
  }

private:
  vector<string> v;
};

int main() {
  A a;
  string s = "string object";

  a << "test" << "string" << s;

  a.print();

  return 0;
}
#包括
#包括
#包括
使用名称空间std;
甲级{
公众:
A&operator该技术称为“链接”,您看到的示例是不言自明的。链接运算符作用于对对象和参数的引用,并返回对对象的引用

DataList &  operator<<(DataList &out, const Data &arg)
{
     // insert arg into out
     return out; 
}
DataList&operator这种技术被称为“链接”,您看到的示例是不言自明的。链接操作符作用于对对象和参数的引用,并返回对对象的引用

DataList &  operator<<(DataList &out, const Data &arg)
{
     // insert arg into out
     return out; 
}
DataList和操作符
DataList &  operator<<(DataList &out, const Data &arg)
{
     // insert arg into out
     return out; 
}
someObject << “stringOne” << “stringTwo” << stringThree;
((someObject << “stringOne”) << “stringTwo”) << stringThree;