这是如何协会在C ++中工作的?

时间:2015-07-24 14:58:58

标签: c++ associations

class Staff{

public:
void createTeacher(TeacherRecord tr);

  tr.addTeacher();

}

class TeacherRecord{

public:
void addTeacher();
}

添加教师的逻辑将在TeacherRecord addTeacher()方法中。 在此方案中,Staff使用TeacherRecord对象将新教师添加到列表中。这可以称为关联关系吗?

1 个答案:

答案 0 :(得分:1)

理论上没有。根据关联的定义,class Staffclass Teacher应该互相使用。所以代码应该是这样的:

#include <iostream>
using namespace std;
class TeacherRecord{

 public:
  void addTeacher(Staff school_staff);
};

class Staff{

 public:
  void createTeacher(TeacherRecord tr){
   tr.addTeacher(this);
  }

};
int main(){
return 0;
}

一些有助于我理解这个概念的参考文献是:

  1. This stack overflow question.
  2. This code project article.
  3. 对不起我的长代码。希望这有帮助。