Here is the C++ solution to find the complement of an integer:

```
class Solution {
public:
    int findComplement(int num) {
        int bit = 1;
        while (bit < num) {
            bit = (bit << 1) | 1;
        }
        return num ^ bit;
    }
};
```

The solution works by first finding the binary representation of the given integer. It then creates a binary number with the same number of bits by left shifting a 1 bit, and then OR'ing it with itself. This creates a binary number in which all the bits are 1. 

We then XOR this number with the given integer to find its complement.
Il complemento di un numero intero è il numero intero che ottieni quando inverti tutti gli 0 in 1 e tutti gli 1 in 0 nella sua rappresentazione binaria. Ad esempio, il numero intero 5 è &quot;101&quot; in binario e il suo complemento è &quot;010&quot; che è il numero intero 2. Dato un numero intero, restituisce il suo complemento. Dammi la soluzione C++.