```
class Solution {
public:
int getSum(int a, int b) {
if (a == 0 || b == 0)
return a | b;
return getSum(a^b, ((a&b) << 1)); // para --> a: sum without carry ,b : the carry
}
};
```

The end of this solution must be the situation that either a or b equals to zero. And then, simply return the sum and we will get the answer.