好的,所以我创建了一个名为Courses的课程,其中包含私人成员函数courseName,creditHours,grade和courseNumber。
由于这是功课,我们只是通过指针和动态内存分配, 我必须阅读学生参加的课程数量,动态创建一系列课程类型,并提示用户输入有关课程的信息。这就是教师希望它完成的方式。
下面是我创建和填充数组的功能,但我不确定如何实际填充它。
Course readCourseArray(int coursesTaken)
{
cout<<"\nHow many courses has the student taken?\n";
cin>>coursesTaken;
Course *courses = new Course[coursesTaken];
for(int count = 0; count < coursesTaken; count++)
{
cout<<"Enter name for course "<<count+1<<endl;
getline(cin,courses[count].courseName);
}
return *courseArray;
}
我的问题是getline部分。我得到一个红色的波形,它说courseName是不可访问的,我想不出另一种方法来贯穿循环。
在我的课程规范文件中我有
void setCourseName (string _courseName)
{courseName=_courseName;};
但我不知道如何使用它循环遍历数组。
答案 0 :(得分:1)
courseName
是一个私有变量,因此您无法像这样访问它。这是你应该做的:
std::string
变量。getline
。setCourseName
。答案 1 :(得分:1)
看起来courseName
是私有成员变量。 private
表示您无法在课堂外访问它。要使用getline,请创建一个临时字符串:
string temp;
getline(cin, temp);
courses[count].setCourseName(temp);