ZBLOG

有两个类:CourseSchedule类和Course类,其关系为CourseSchedule类中的成员函数add和remove的参数是Course类的对象,courseSchedule类中要有一个成员变量用来存放多个Course,用动态分配的数组存放,add和remove函数用来添加和删除一个coureschedule中的course,course类的设计请自己完成(这里的CourseSchedule类是一个课程列表有多个课程对象)

下面是一个基于您描述的要求的简单示例代码:

#include <iostream>
#include <vector>

class Course {
public:
    Course(std::string name) : name(name) {}

    std::string getName() const {
        return name;
    }

private:
    std::string name;
};

class CourseSchedule {
public:
    void add(Course* course) {
        courses.push_back(course);
    }

    void remove(Course* course) {
        for (auto it = courses.begin(); it != courses.end(); ++it) {
            if (*it == course) {
                courses.erase(it);
                break;
            }
        }
    }

private:
    std::vector<Course*> courses;
};

int main() {
    // 创建几个课程对象
    Course* course1 = new Course("Math");
    Course* course2 = new Course("English");
    
    // 创建课程表对象
    CourseSchedule schedule;

    // 添加课程到课程表
    schedule.add(course1);
    schedule.add(course2);

    // 打印当前课程表中的所有课程名
    for (const auto& course : schedule.getCourses()) {
        std::cout << course->getName() << std::endl;
   }

   // 从课程表中移除一个课程
   schedule.remove(course1);

   delete course1;
   delete course2;

   return 0;
}

在上述示例中,Course类表示一个具体的课程,包含一个名称属性。CourseSchedule类表示整个课程表,包含了用动态分配的数组存储多个Course对象,并提供了添加和删除Course对象的成员函数。在主函数中,我们创建了一些Course对象,并将它们添加到CourseSchedule对象中,然后打印出当前课程表中的所有课程名。最后,我们从课程表中移除一个课程并释放内存。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=13745

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?