毕竟,我们通常必须说明函数返回的内容;也就是说,如果我们从函数中返回一个值,那么我们总是对返回值作出 promise (调用者还期望什么)。
int area(int lenght, int width)
// pre-conditions : lenght and width are positive
// post-condition : returns a positive value that is the area
{
if (lenght <= 0 || width <= 0) error("area() pre-condition");
int a = lenght * width;
if (a <= 0) error("area() post-condition");
return a;
}
这是一个使用前置条件和后置条件的简单示例,但是我不明白的是作者在显示示例后说了什么:
这是什么意思 ?为什么我们无法检查完整的后置条件?根据我在这种情况下作为后置条件的理解,我们只需要检查变量a是否为正,我错了吗?
比作者问我这个问题:
这不是不可能吗?
最佳答案
是。注意完整的后置条件...
可以传递length
和width
的值,以使a
不会由于溢出而出现在正确的区域。
关于c++ - C++中的前置条件和后置条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28416392/