¿Es posible almacenar un cero inicial en un int?
Tengo una asignación de programación donde necesito cifrar un int de 4 dígitos, ingresado por el usuario. He dividido el int en cuatro valores separados y las funciones de cifrado y descifrado funcionan. Mi problema es cuando puse las cuatro entradas separadas de nuevo, algunos números se cifran a cero (p. Ej., En: 1234 out: 0189) y quiero almacenar la salida en un int para usar con otras funciones.
Ahora mismo tengo una solución a medias que imprime 0 primero si el primer int es 0.
void joinInt(){
if(int1 == 0) {cout << 0;}
joined = int1 * 1000;
joined += int2 * 100;
joined += int3 * 10;
joined += int4;
cout << joined << endl;
}
Mi objetivo es volver unido (con el cero inicial) en lugar de simplemente imprimirlo dentro de la función.