Advertisement
miki_brill

Untitled

Jan 13th, 2015
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. number_ptr Whole::add(const Number& numb) const{
  2. Complex* c;
  3. Real* re;
  4. Rational* ra;
  5. number_ptr res;
  6. switch (numb.get_type()) {
  7. case COMPLEX:
  8. c = new Complex(this->get_real_value(), 0);
  9. res = c->add(numb);
  10. delete c;
  11. return res;
  12. break;
  13. case REAL:
  14. re = new Real(this->get_real_value());
  15. res = re->add(numb);
  16. delete re;
  17. return res;
  18. break;
  19. case RATIONAL:
  20. ra = new Rational(this->get_real_value(), 1);
  21. res = ra->add(numb);
  22. delete ra;
  23. return res;
  24. break;
  25. default:
  26. break;
  27. }
  28. Whole param = *(dynamic_cast<const Whole*>(&numb));
  29. number_ptr w_res(new Whole(int(get_real_value()+param.get_real_value())));
  30. return w_res;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement