Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- number_ptr Whole::add(const Number& numb) const{
- Complex* c;
- Real* re;
- Rational* ra;
- number_ptr res;
- switch (numb.get_type()) {
- case COMPLEX:
- c = new Complex(this->get_real_value(), 0);
- res = c->add(numb);
- delete c;
- return res;
- break;
- case REAL:
- re = new Real(this->get_real_value());
- res = re->add(numb);
- delete re;
- return res;
- break;
- case RATIONAL:
- ra = new Rational(this->get_real_value(), 1);
- res = ra->add(numb);
- delete ra;
- return res;
- break;
- default:
- break;
- }
- Whole param = *(dynamic_cast<const Whole*>(&numb));
- number_ptr w_res(new Whole(int(get_real_value()+param.get_real_value())));
- return w_res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement