exc_mean.h 600 B

1234567891011121314151617181920212223242526272829303132
  1. // exc_mean.h -- exception classes for hmean(), gmean()
  2. #include <iostream>
  3. class bad_hmean
  4. {
  5. private:
  6. double v1;
  7. double v2;
  8. public:
  9. bad_hmean(double a = 0, double b = 0) : v1(a), v2(b){}
  10. void mesg();
  11. };
  12. inline void bad_hmean::mesg()
  13. {
  14. std::cout << "hmean(" << v1 << ", " << v2 <<"): "
  15. << "invalid arguments: a = -b\n";
  16. }
  17. class bad_gmean
  18. {
  19. public:
  20. double v1;
  21. double v2;
  22. bad_gmean(double a = 0, double b = 0) : v1(a), v2(b){}
  23. const char * mesg();
  24. };
  25. inline const char * bad_gmean::mesg()
  26. {
  27. return "gmean() arguments should be >= 0\n";
  28. }