在另一个类中使用类的对象

时间:2015-12-05 00:33:52

标签: c++ class object

我有一个名为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()将学生添加到课程中。

我在标有****的行上收到错误。 有人可以帮我解决出错吗?我不太确定我是否已经理解如何在另一个类中使用某个类的对象。

1 个答案:

答案 0 :(得分:1)

这是不正确的:

       bool res = exists(Student obj);  // ****

它应该是这样的:

       bool res = exists(obj);  // ****

obj是函数(类型Student)的参数,可以在函数内部使用。在这一行中,您正在使用该参数将其传递给另一个函数。