下面是一个基于您描述的要求的简单示例代码:
#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助手提供,问题来源于学员提问




