属性私有时遇到问题
Having trouble with attributes being private
这是我收到的编译器错误。
project1.cc:在功能std::vector<Enrollment, std::allocator<Enrollment> >
returnCourseEnrollment(int)':
project1.cc:84: error:
课程注册::课程'是私有
project1.cc:293:错误:在此上下文中
我的代码:
290 vector<Enrollment> e;
291 for (int i=0; i<Enrollment::enrollmentList.size();i++) {
292 Enrollment enroll = Enrollment::enrollmentList[i];
293 if (enroll.course.getCourseID()) e.push_back(enroll);
294 }
我正在搜索向量以将课程 ID 与课程中的学生进行匹配。
231 string myText(line);
232 istringstream iss(myText);
233 if (!(iss>>id)) id = 0;
234 iss.ignore(1,',');
235 if (!(iss>>id2)) id2 = 0;
236 cout<<"id: "<<id<<" id2: "<<id2<<endl;
237 Enrollment newEnrollment(Student::studentList[id],Course::courseList[id2]);
238 Enrollment::enrollmentList[i] = newEnrollment;
239 i++;
这是制作矢量的地方。如您所见,向量的每个元素都被一个类的实例占用。关于如何访问我正在制作的方法中的私有属性的任何建议?
编辑:这是注册类
82 private:
83 Student student;
84 Course course;
85
86 public:
87 Enrollment(Student student,Course course):student(student),course(course){}
88 Enrollment(){}
89 static vector<Enrollment> enrollmentList;
90 static int loadEnrollment();
91 static vector<Enrollment> returnCourseEnrollment(int courseid);
92 static vector<Enrollment> returnSchedule(int studentid);
93 friend ostream& operator<< (ostream& out,Enrollment e) {
94 out<<e.student.getName()<<"("<<e.student.getId()<<")"<<e.course.getName()<<"("<<e.course.getId()<<")";
95 return out;
怀疑你有这样的东西:
class Enrollment
{
// ...
Course course;
};
应确保course
成员显示在public
类部分中,以便可访问,如下所示:
class Enrollment
{
public:
Course course;
};
另一种选择是将returnCourseEnrollment()
函数声明为Enrollment
的friend
:
class Enrollment;
class Enrollment
{
private:
friend std::vector<Enrollment, std::allocator<Enrollment> >
returnCourseEnrollment(int);
Course course;
};
相关文章:
- 编译包含字符串的代码时遇到问题
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 从其他类访问类时遇到问题
- 使用静态成员声明类时遇到问题
- C++ 填充数组时遇到问题
- 在将字符串放入字符串向量时遇到问题?
- 余数除法和不允许除以零 (c++) 时遇到问题
- 我在C++中使用 getline() 函数时遇到问题
- C++线程安全:如果只有一个线程可以写入非原子变量,但多个线程从中读取. 会遇到问题吗?
- 在我的四叉树实现中遇到问题
- 在 c++ 中循环遍历数组时遇到问题
- 使用 MinGW 在 Windows 上构建 GLEW 时遇到问题
- 编译 Cilk Plus 程序时遇到问题
- 存储另一个函数返回的布尔数组时遇到问题
- 我在 OpenGL 中显示图像时遇到问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组
- 在 for 循环中更新两个变量时遇到问题C++
- 为什么我的程序在打开网络设备时遇到问题
- 在 Tensorflow C++ 中使用 FIFOQueue 时遇到问题
- 为什么我在虚幻引擎中的多态性和接口方面遇到问题?