请问,这几个类的关系该如何界定?
各位好,想设计一个课程管理系统,有老师,课程,学生三个主体,现在的设想是:
1)设计一个用户类,可以注册账户,登陆,修改密码
2)学生和老师是此用户类的子类,老师可以上传课件,发布课程计划,等等;学生可以网上订课,下载课件,等等
现在遇到的疑问是,课程与老师和学生这两个类该是如何的关系?考虑到如上描述,是不是将课程设计成与它们关联关系,也就是将课程设置成这两个类的成员,大家觉得如何呢?
多谢!
可用分就这么多了,全部奉上,别嫌少哦!
[解决办法]
struct User;
{
public:
virtual ~User(){};
//other info
};
<typename user_type>
class UserManager
{
public:
std::share_ptr<user_type> register(std::string const& name, std::string const& pass);
bool login(std::share_ptr<user_type> user);
bool updatePass(std::share_ptr<user_type> user, std::string const &newPass);
};
struct Presentention;
struct Course;
class ITeaching
{
public:
virtual std::share_ptr<Presentention> pubPresention() = 0;
virtual std::share_ptr<Course> pubCourse() = 0;
};
class Teacher : public User, public ITeaching
{
//...
};
typedef UserManger<Teacher> TeacherMgr;
class IStuding
{
public:
virtual std::share_ptr<Presentention> dlPresention() = 0;
virtual std::share_ptr<Course> chooseCourse() = 0;
};
class Student : public User, public ITeaching
{
//....
};
typedef UserManger<Student> StudentMgr;