C++ 无操作员<&书信电报;匹配这些操作数

C++ 无操作员<&书信电报;匹配这些操作数,c++,vector,C++,Vector,我已经在这里读了一两个小时的关于这个错误的问题,大多数问题都忘记了#包括字符串(我已经做过了),或者让 我要做的就是返回向量 不完全是,;您正在尝试使用cout打印它。而且cout不知道如何打印Course对象,除非您提供了一个重载的操作符流操作符您的Course类需要实现一个操作符: class Course { public: /* * Your code here */ // Probably missing this: friend std::

我已经在这里读了一两个小时的关于这个错误的问题,大多数问题都忘记了#包括字符串(我已经做过了),或者让 我要做的就是返回向量


不完全是,;您正在尝试使用
cout
打印它。而且
cout
不知道如何打印
Course
对象,除非您提供了一个重载的
操作符流操作符
您的
Course
类需要实现一个操作符:

class Course
{
public:
    /* 
     * Your code here
     */

   // Probably missing this:
   friend std::ostream& operator << (std::ostream& os, const Course& course)
   {
      os << course.name(); // etc..
      return os;
   };
}; // eo class Course
课程
{
公众:
/* 
*你的代码在这里
*/
//可能遗漏了这一点:

friend std::ostream&operator因为您还没有学会重载
operator问题在于operator您的问题是这一特定部分:


cout
cout
课程的每个成员都要分开。
Error: No operator matches these operands
    operand types are: std::ostream << const Course
std::ostream& operator<<(std::ostream& out, const Course& course)
{
    out << course.getName(); // for example
    return out;
}
for (int i = 0; i < c.size(); i++)
{
    cout << c[i].Name << endl;  // assuming Name is a property of Course
}
ostream& operator<< (ostream &out, Course &c)
{
    out << c.Name "(" << c.Description << ")";
    return out;
}
class Course
{
public:
    /* 
     * Your code here
     */

   // Probably missing this:
   friend std::ostream& operator << (std::ostream& os, const Course& course)
   {
      os << course.name(); // etc..
      return os;
   };
}; // eo class Course
class Course
{
public:
    int get_number() { return _number; }
    const std::string& get_name() { return _name; }

private:
    int _number;
    std::string _name;
};
void Student::getCoursesEnrolled(const vector<Course>& c)
{
    for (int i = 0; i < c.size(); i++)
    {
        cout << c[i].get_number() << " "
             << c[i].get_name() << std::endl;
    }
}
cout << c[i] << endl;
class Course
{
private:
   std::string name;
   unsigned int duration;
public:
   Course() : duration( 0 ) {}
   Course( const std::string &s, unsigned int n ) : name( s ), duration( n ) {}
   std::ostream & out( std::ostream &os ) const
   {
      return ( os << "Course name = " << name << ", course duration = " << duration );
   }
};
std::vector<Course> v = { { "A", 1 }, { "B", 2 }, { "C", 3 } };

for ( const Course &c : v ) c.out( std::cout ) << std::endl;
class Course
{
private:
   std::string name;
   unsigned int duration;
public:
   Course() : duration( 0 ) {}
   Course( const std::string &s, unsigned int n ) : name( s ), duration( n ) {}
   friend std::ostream & operator <<( std::ostream &os, const Course & c )
   {
      return ( os << "Course name = " << c.name << ", course duration = " << c.duration );
   }
};
std::vector<Course> v = { { "A", 1 }, { "B", 2 }, { "C", 3 } };

for ( const Course &c : v ) std::cout << c << std::endl;