2014-01-13 206 views
0

我试图调用类中的函数,当我尝试在instructor.displayMessage()之前发生错误“没有运算符< <与这些操作数匹配”时。另外,我正确调用instructor.displayMessage()吗?我是新来的C++如何调用类中的函数

#include <iostream> 
#include "GradeBook.h" 
using namespace std; 
int main() 
{ 
    GradeBook gradeBook1("CS101 Introduction to C++ Programming"); 
    GradeBook gradeBook2("CS102 Data Structures in C++"); 
    GradeBook instructor(""); 

    instructor.setInstructorName(); 

    cout << "gradeBook1 created for course: \n" << gradeBook1.getCourseName() << instructor.displayMessage() 
     << "\ngradeBook2 created for course: \n" << gradeBook2.getCourseName() 
     << endl; 
    cout << "\nPress any key to exit" << endl; 
    getchar(); 
} 

页眉:

#include <string> 
using namespace std; 

class GradeBook{ 
public: 
    GradeBook(string); 
    void setCourseName(string); 
    string getCourseName(); 
    void displayMessage(); 
    void setInstructorName(); 
    string getInstructorName(); 
private: 
    string courseName; 
    string instructorName; 
}; 

我没有包括的功能,因为我不认为他们是问题的一部分。

+1

我认为你要找的词是_member function_。 – keyser

回答

3
void displayMessage(); 

此功能不会返回任何东西,但你尝试在这里打它的返回值:

cout << "gradeBook1 created for course: \n" << gradeBook1.getCourseName() << instructor.displayMessage() 

如果它实际上应该返回的东西,那么你有正确的返回类型声明一下,例如

string displayMessage(); 

但是名称暗示该函数本身已经打印输出。所以,也许你只是想这样称呼它:

instructor.displayMessage(); 

在一行中。

如果您提供了displayMessage()的实现,我可能会给出更准确的答案。