我有一个名为Student的课程,看起来像这样
class Student
{ string name;
unsigned long int ID ;
string email;
unsigned short int year;
public :
Student() // Constructor
string getName(void);
unsigned long int getID(void);
string getEmail(void);
unsigned short int getYear(void);
{
和另一个名为eClass的类
class eClass
{
string eclass_name;
Student* students[100];
unsigned int student_count;
public:
eClass(string name)
{
student_count=0 ;
eclass_name = name ;
}
void add(Student& obj)
{
bool res = exists(Student obj); ****
if (res)
{
}
else
{
students[student_count] = obj ; ****
student_count++ ;
}
}
bool exists(Student &obj)
{
unsigned long int code = obj.getID(); ****
bool flag = FALSE ;
for (int i = 0 ; i<=student_count ; i++ )
{
unsigned long int st = students[i]->getID();
if (code==st)
{
flag = TRUE;
}
}
return flag;
}
};
它基本上创建了一个代表课程的对象,然后在检查学生尚未属于课程后通过add()将学生添加到课程中。
我在标有****的行上收到错误。 有人可以帮我解决出错吗?我不太确定我是否已经理解如何在另一个类中使用某个类的对象。
答案 0 :(得分:1)
这是不正确的:
bool res = exists(Student obj); // ****
它应该是这样的:
bool res = exists(obj); // ****
obj
是函数(类型Student
)的参数,可以在函数内部使用。在这一行中,您正在使用该参数将其传递给另一个函数。