【发布时间】:2016-04-05 03:47:07
【问题描述】:
如果学生列表为空,我被要求使用 try-catch 异常处理来处理这种情况。我是异常处理的新手,有人可以指导我吗?下面是平均方法的实现。我需要使用 try-catch 来确保列表不为空。
double classAverage()
{
int count = 0;
double sum = 0.0;
Container *temp = list;
if (temp == NULL)
{
cout << "List empty!";
return -1.0;
}
while (temp != NULL)
{
sum += temp->student->getGrade();
temp = temp->next;
count++;
}
return sum / count;
}
【问题讨论】:
-
退回到“糟糕”的设计不是一个好选择,因为您无法让某些东西正常工作。使“正确”的方式发挥作用。 IOW,不要让学生的成绩公开和暴露;让功能正常工作。
-
您是否将有效的
Student*传递给changeGrade? -
他们将该指针的副本指向别处,他们不会修改原始文件。我正在尝试找出什么不起作用,因为 OP 不明确
-
您需要向
sum添加值,因为这是sum的定义。
标签: c++ exception-handling polymorphism try-catch