如何调用类中的函数

时间:2014-01-13 23:51:57

标签: c++

我正在尝试调用类中的函数,当我尝试时我得到错误"没有运算符<<匹配这些操作数"就在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 个答案:

答案 0 :(得分:3)

 void displayMessage();

此函数不返回任何内容,但您尝试在此处打印其返回值:

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

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

 string displayMessage();

但是名称表明函数本身已经打印输出。所以也许你只想打电话给它,就像这样:

 instructor.displayMessage();

在一行中。

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