En este tutorial, aprenderemos sobre los conceptos básicos de la conversión de tipos C ++ con la ayuda de ejemplos.
C ++ nos permite convertir datos de un tipo a otro. Esto se conoce como conversión de tipo.
Hay dos tipos de conversión de tipos en C ++.
- Conversión implícita
- Conversión explícita (también conocida como conversión de tipos)
Conversión de tipo implícita
La conversión de tipo que realiza automáticamente el compilador se conoce como conversión de tipo implícita. Este tipo de conversión también se conoce como conversión automática.
Veamos dos ejemplos de conversión de tipo implícita.
Ejemplo 1: Conversión de int a double
// Working of implicit type-conversion #include using namespace std; int main() ( // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Salida
num_int = 9 num_double = 9
En el programa, hemos asignado un int
dato a una double
variable.
num_double = num_int;
Aquí, el compilador int
convierte automáticamente el valor double
antes de asignarlo a la variable num_double. Este es un ejemplo de conversión de tipo implícita.
Ejemplo 2: Conversión automática de doble a int
//Working of Implicit type-conversion #include using namespace std; int main() ( int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Salida
num_int = 9 num_double = 9,99
En el programa, hemos asignado un double
dato a una int
variable.
num_double = num_int;
Aquí, el compilador double
convierte automáticamente el valor int
antes de que se asigne a la variable num_int. Este también es un ejemplo de conversión de tipos implícita.
Nota: Dado int
que no puede tener una parte decimal, los dígitos después del punto decimal se truncan en el ejemplo anterior.
Pérdida de datos durante la conversión (conversión de reducción)
Como hemos visto en el ejemplo anterior, la conversión de un tipo de datos a otro es propensa a la pérdida de datos. Esto sucede cuando los datos de un tipo más grande se convierten en datos de un tipo más pequeño.

Conversión explícita de C ++
Cuando el usuario cambia manualmente los datos de un tipo a otro, esto se conoce como conversión explícita . Este tipo de conversión también se conoce como fundición tipo .
Hay tres formas principales en las que podemos usar la conversión explícita en C ++. Son:
- Fundición tipo C (también conocida como notación fundida )
- Notación de funciones (también conocida como conversión de tipos de estilo C ++ antiguo )
- Operadores de conversión de tipo
Fundición tipo C
Como su nombre indica, este tipo de fundición se ve favorecido por el lenguaje de programación C . También se conoce como notación de conversión .
La sintaxis de este estilo es:
(data_type)expression;
Por ejemplo,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;
Casting de estilo funcional
También podemos usar la función como notación para transmitir datos de un tipo a otro.
La sintaxis de este estilo es:
data_type(expression);
Por ejemplo,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);
Ejemplo 3: Fundición de tipos
#include using namespace std; int main() ( // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; )
Salida
num_double = 3.56 num_int1 = 3 num_int2 = 3
Se utilizó tanto la conversión del tipo de estilo de C y de la fundición de estilo función de conversión de tipo y se muestran los resultados. Dado que realizan la misma tarea, ambos nos dan el mismo resultado.
Operadores de conversión de tipo
Además de estos dos tipos de conversión, C ++ también tiene cuatro operadores para la conversión de tipos. Se les conoce como operadores de conversión de tipos . Son:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Aprenderemos sobre estos moldes en tutoriales posteriores.
Tutoriales recomendados:
- Cadena de C ++ a int y viceversa
- Cadena C ++ para flotar, duplicar y viceversa