Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Number
- {
- public:
- Number() { value = 1; };
- Number& operator + (const Number& n1) const
- {
- Number result = value + n1.value;
- return result;
- };
- int value;
- };
- Number& recurse(const Number& v1)
- {
- Number* result = new Number();
- Number one = Number();
- *result = *result + recurse(one);
- return *result;
- }
- int main(...)
- {
- Number answer = Number();
- answer = recurse(result);
- }
- Number& operator + (const Number& n1) const
- {
- Number result = value + n1.value;
- return result;
- };
- Number& recurse(const Number& v1)
- {
- Number result;
- Number one;
- // I assume there is a step here to determine if the recursion should stop
- result += recurse(one);
- return result;
- }
- Number* recurse(const Number& v1)
- {
- Number* result = new Number();
- Number one;
- if( v1.value >= 2 )
- {
- Number temp;
- temp.value = v1.value - 1;
- Number* partialResult = recurse( temp ); //capture the object to delete
- *result = *partialResult + one;
- delete partialResult; //delete the object
- }
- return result;
- }
- int main()
- {
- Number result;
- result.value = 15;
- Number *answer;
- answer = recurse(result);
- delete answer;
- }
- Number recurse(const Number& v1)
- {
- Number result;
- Number one;
- retun result + recurse(one);
- }
Add Comment
Please, Sign In to add comment