我有一个叫Student的类(class),看起来像这样
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;
}
};
它基本上会创建一个代表类(class)的对象,然后在检查学生是否已经属于该类(class)之后,通过add()将学生添加到类(class)中。
在标有****的行中出现错误。
有人可以帮我怎么回事...我不确定我是否了解如何在另一个对象中使用类的对象。
最佳答案
这是不正确的:
bool res = exists(Student obj); // ****
它看起来应该像这样:
bool res = exists(obj); // ****
obj
是可在函数内部使用的函数(Student
类型)的参数。在这一行上,您正在使用该参数将其传递给另一个函数。关于c++ - 在另一个类中使用一个类的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34099781/