定义一个课程(Course)类,具有课时(classHour)私有数据成员,和课程门数(courseCount)、总课时数(totalClassHour)两个静态数据成员。在主函数中创建三门课程(例如数学、英语、计算机)对象,并在每门课程创建后显示总课时数和平均课时数。
时间: 2024-12-22 22:12:51 浏览: 0
首先,我们可以定义一个名为`Course`的类,包含一个私有数据成员`classHour`表示单门课程的课时数,以及两个静态数据成员`courseCount`用于存储课程的数量,`totalClassHour`用于累计所有课程的总课时数。下面是这个类的结构:
```cpp
class Course {
private:
int classHour;
public:
// 构造函数
Course(int hour) : classHour(hour) {}
// 计算并返回平均课时数的方法
static double calculateAverage() {
if (courseCount == 0) return 0; // 如果没有课程,返回0
return (double) totalClassHour / courseCount;
}
// 设置或获取单门课程课时数的方法
void setClassHour(int hour) { classHour = hour; }
int getClassHour() const { return classHour; }
// 静态数据成员
static int courseCount;
static int totalClassHour;
// 添加课程到统计数据
static void addCourse(const Course& course) {
++courseCount;
totalClassHour += course.classHour;
}
};
// 初始化静态数据成员
int Course::courseCount = 0;
int Course::totalClassHour = 0;
```
然后,在主函数`main()`中,你可以按照以下步骤操作:
```cpp
int main() {
// 创建三门课程对象
Course math(45), english(60), computerScience(90);
// 添加课程到统计数据
Course::addCourse(math);
Course::addCourse(english);
Course::addCourse(computerScience);
// 显示总课时数和平均课时数
std::cout << "Total class hours: " << Course::totalClassHour << std::endl;
std::cout << "Average class hour per course: " << Course::calculateAverage() << std::endl;
return 0;
}
```
在这个例子中,我们创建了三个课程对象并调用了静态方法`addCourse()`更新统计信息,最后展示了总课时数和平均课时数。运行程序后,会得到相应的结果。
阅读全文