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您的问题是这一特定部分:
coutcout
课程的每个成员都要分开。
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;