Czy możliwe jest zapisanie wiodącego zera w int?

Mam zadanie programowania, w którym muszę zaszyfrować 4 cyfry int, wprowadzane przez użytkownika. Podzieliłem int na cztery oddzielne wartości, a funkcje szyfrowania i deszyfrowania działają. Mój problem polega na tym, że kiedy umieściłem cztery oddzielne int z powrotem razem, niektóre liczby szyfrują do zera (np. W: 1234 out: 0189) i chcę przechowywać wyjście w int do użytku z innymi funkcjami.

W tej chwili mam na wpół wypieczone rozwiązanie, które najpierw drukuje 0, jeśli pierwsze int to 0.

void joinInt(){
    if(int1 == 0) {cout << 0;}
    joined = int1 * 1000;
    joined += int2 * 100;
    joined += int3 * 10;
    joined += int4;
    cout << joined << endl;
    }

Moim celem jest powrót połączony (z wiodącym zerem), a nie tylko wydrukowanie go w funkcji.

questionAnswers(5)

yourAnswerToTheQuestion