C++流有一个类继承体制,符合C++类的语义。下面的代码使用std::cout作为std::ostream引用,能够正确输出信息。我们也可以用ofstream, ostringstream等做类似操作
#include <iostream>
#include <math.h>
bool noNegtive(int a, std::ostream& os)
{
if (a >= 0)
return true;
os << "noNegative() failed|";
return false;
}
bool sq(int a, double& res, std::ostream& os)
{
if (!noNegtive(a, os))
{
os << "sq(" << a << ") not success!|";
return false;
}
res = sqrt(a);
return true;
}
int main()
{
std::cout << "Hello World!\n";
double res;
if (sq(-1, res, std::cout))
{
std::cout << "done!" << std::endl;
return 0;
}
std::cout << "失败" << std::endl;
return -1;
}
程序输出失败信息