如何将字符串传递给指向对象类数组的指针
How do I pass a string to a pointer to object class array?
好的,所以我创建了一个名为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;};
但我也不知道该如何使用它在数组中循环。
看起来courseName
是一个私有成员变量。private
意味着您不能在类之外访问它。要使用getline,请创建一个临时字符串:
string temp;
getline(cin, temp);
courses[count].setCourseName(temp);
courseName
是一个私有变量,因此您不能这样访问它。以下是您应该做的:
- 制作一个临时
std::string
变量 - 对该字符串使用
getline
- 将该字符串传递给
setCourseName
相关文章:
- 将对象数组的引用传递给函数
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 类对象数组的问题会导致崩溃
- Arduino C++在构造函数中用参数声明对象数组
- 使用对象数组对 SFML 进行动画处理
- C++ 对象数组堆栈溢出
- 如何将对象数组作为参数传递给模板
- 使用向量初始化参数化构造函数的对象数组
- 如何初始化对象数组?
- C++创建对象数组
- 在对象数组中搜索字符串并返回相应值的函数
- 有没有办法使用该类的构造函数初始化另一个类的私有部分内的对象数组?
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 为什么我在声明对象数组时不能使用 -> 运算符?
- 编译时生成应在构造函数中创建的非 constexpr 对象数组
- 使用 C++ 创建对象数组
- 对象数组打印空白字符串
- 重载运算符 [] 用于从对象数组中给出特定索引
- 如何在 C++ 中使用提升属性树从 JSON 文件中读取对象数组