大家看看这个类,C++初学者!

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:29:00
class GradeBook
{
public:

void setCourseName( string name )
{
courseName = name;
}
string getCourseName()
{
return courseName;
}

void displayMessage()
{

cout << "Welcome to the grade book for\n" <<getCourseName() << "!" << endl;
}

大家看看这类,最后那个成员函数,为什么不能调用setCourseName(),非要调用getCourseName啊。按我的理解,setCouseName()中没有实参,但是getCourseName好像也没有实参吧,到底为什么呢?还有return courseName是什么意思?干什么用?

因为是要显示信息,所以只能是getCourseName
不能set啦

放回那个变量的值

其实朋友你这样的问题还是概念没有弄清晰。return courseName说明类内一定定义了一个叫做courseName的变量。。。

至于为什么不能调用setCourseName()。。。这个函数是为类内定义的变量courseName赋值的。。。不是取出值的。。。也没有返回值

getCourseName()是返回courseName的值

因为setCourseName()的返回值是void,也就是为空,在cout的输出中需要一个基本类型来作为输出对象,所以在这个位子是没有输出东西的
getCourseName()的返回值是string型,[getCourseName()]相当于一个字符串变量,所以可以输出

这地方和参数是没有关系的,如果将上面的代码改为
class GradeBook
{
public:

string setCourseName( string name )
{
courseName = name;
return courseName;
}
void displayMessage()
{
string name="DAN";
cout << "Welcome to the grade book for\n" <<getCourseName(name) << "!" << endl;
}

}
这样调用displayMessage()函数时也是可以达到输出的效果的

return courseName就是说此函数在本次运行结束时,要向调用它的那个函数返回类中的数据成员courseName,这里定义courseName为一个字符串类型数据,则返回给主调函数一个string型的变量