云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C primer plus(第6版)中文版编程练习答案第15章

C primer plus(第6版)中文版编程练习答案第15章

  • 62 次阅读
  • 3 次下载
  • 2025/5/22 19:27:17

name = \}

inline void bad_hmean::mesg() { cout << name << \ << \}

class bad_gmean :public bad_hmean {

private: string name; public: explicit bad_gmean(double a = 0, double b = 0, const string &s = \ void mesg(); virtual ~bad_gmean()throw(){} };

bad_gmean::bad_gmean(double a, double b, const string &s) :bad_hmean(a, b, s) { name = \}

inline void bad_gmean::mesg() { cout << name << \be >= 0\\n\}

#endif //error.cpp

#include \

double hmean(double a, double b); double gmean(double a, double b);

int main() { double x, y, z; cout << \ while (cin >> x >> y)

{ try{ z = hmean(x, y); cout << \ << \ cout << \ << \ cout << \ } catch (bad_gmean &hg) { cout << hg.what(); cout << \ hg.mesg(); cout << endl; cout << \ break; } catch (bad_hmean &bg) { cout << bg.what(); cout << \ bg.mesg(); cout << endl; cout << \ continue; } } cout << \ system(\ return 0; }

double hmean(double a, double b) { if (a == -b) throw bad_hmean(); return 2.0*a*b / (a + b); }

double gmean(double a, double b) { if (a < 0 || b < 0) throw bad_gmean();

return sqrt(a*b); } 4、

//sales.h

#ifndef SALES_H_ #define SALES_H_ #include #include #include #include #include using namespace std;

class Sales {

public: enum { MONTHS = 12 }; class bad_index:public logic_error { private: int bi; public: explicit bad_index(int ix, const string &s = \ int bi_val()const { return bi; } virtual ~bad_index()throw(){} }; explicit Sales(int yy = 0); Sales(int yy, const double *gr, int n); virtual ~Sales(){} int Year()const { return year; } virtual double operator[](int i)const; virtual double &operator[](int i); private: double gross[MONTHS]; int year; };

class LabeledSales :public Sales {

public: class nbad_index :public Sales::bad_index { private:

std::string lbl; public: nbad_index(const string &lb, int ix, const string &s = \ const string &label_val()const { return lbl; } virtual ~nbad_index()throw(){} }; explicit LabeledSales(const string &lb = \ LabeledSales(const string &lb, int yy, const double *gr, int n); virtual ~LabeledSales(){} const string &Label()const { return label; } virtual double operator[](int i)const; virtual double &operator[](int i); private: string label; };

#endif //sales.cpp

#include \

Sales::bad_index::bad_index(int ix, const string &s) :logic_error(s), bi(ix) { }

Sales::Sales(int yy) { year = yy; for (int i = 0; i < MONTHS; ++i) gross[i] = 0; }

Sales::Sales(int yy, const double *gr, int n) { year = yy; int lim = (n < MONTHS) ? n : MONTHS; int i; for (i = 0; i < lim; ++i) gross[i] = gr[i]; for (; i < MONTHS; ++i) gross[i] = 0; }

double Sales::operator[](int i)const

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

name = \} inline void bad_hmean::mesg() { cout << name << \ << \} class bad_gmean :public bad_hmean { private: string name; public: explicit bad_gmean(double a = 0, double b = 0, const string &s = \ void mesg(); virtual ~bad_gmean()throw(){} }; bad_gmean::bad_gmean(double a, double b, const string &s) :bad_hmean(a, b, s) { name = \} inline void b

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com