2014-01-13 54 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()的實現,我可能會給出更準確的答案。