用类实现排课程序c+
时间: 2023-11-22 12:53:27 浏览: 76
好的,以下是一个简单的排课程序的C++类实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
class Course {
private:
string name; // 课程名称
int time; // 课程时间
public:
Course(string n, int t) : name(n), time(t) {} // 构造函数
string getName() { return name; }
int getTime() { return time; }
};
class Schedule {
private:
vector<Course> courses; // 课程列表
int totalTime; // 总时间
public:
Schedule() : totalTime(0) {} // 构造函数
void addCourse(Course c) { // 添加课程
courses.push_back(c);
totalTime += c.getTime();
}
void printSchedule() { // 打印课程表
cout << "Total Time: " << totalTime << endl;
for (int i = 0; i < courses.size(); i++) {
cout << courses[i].getName() << " " << courses[i].getTime() << endl;
}
}
};
int main() {
Schedule s;
s.addCourse(Course("Math", 3));
s.addCourse(Course("English", 2));
s.addCourse(Course("History", 1));
s.printSchedule();
return 0;
}
```
这个程序定义了两个类:`Course`和`Schedule`。`Course`表示单个课程,包含一个名称和一个时间。`Schedule`表示整个课程表,包含一个课程列表和总时间。
在主函数中,我们创建了一个`Schedule`对象`s`,并向其中添加了三个`Course`对象,然后调用`s.printSchedule()`打印出整个课程表。
输出结果为:
```
Total Time: 6
Math 3
English 2
History 1
```
当然,这只是一个简单的排课程序的实现,实际情况可能更加复杂,需要考虑更多因素,比如教师、教室等资源的分配。
阅读全文