Está en la página 1de 6

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE AREQUIPA

FACULTAD DE PRODUCCION Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Curso: Tecnología de Objetos

Resumen del Libro Profesional C++

Docente: Cuadros Linares, Oscar Alonso

Estudiante: Lipa Toledo, Enrique Zenon

CUI: 20140886

Arequipa - Perú

2021
Conceptos importantes de un programa C++
● Directivas de preprocesador
La creación de un programa en C ++ es un proceso de tres pasos. Primero, el código
es ejecutado por un preprocesador, que reconoce la metainformación en el código.
Luego, el código se compila o se traduce en archivos de objetos legibles por máquina.
Finalmente, combina los archivos de destino en una aplicación. Las instrucciones
enviadas al preprocesador comienzan con el carácter #, seguido del nombre de la
instrucción y los parámetros (en algunos casos). Este parámetro puede ser el nombre,
clave, variable, etc. del archivo de encabezado. El uso más común de los archivos de
encabezado es declarar funciones definidas en otro lugar. La declaración de la función
le dice al compilador cómo llamarla, declara el número y los tipos de parámetros y el
tipo de retorno de la función. En C++, las declaraciones suelen ir en archivos con
extensión .h, mientras que las definiciones suelen ir en archivos con extensión .cpp
(archivos fuente). Las cabeceras estándar de C aún existen en C++ pero con nombres
nuevos, por ejemplo en C se usa <stdio.h> (usualmente en C los archivos terminan en
.h), mientras que en C++ se incluye con <cstdio> (el sufijo se omite para las cabeceras
de la biblioteca estándar). Las directivas de preprocesador más comunes son:
● #include [file]: Se usa para incluir las declaraciones de otro fichero en la
compilación.
● #define [key]/[value]: Cada ocurrencia de la clave especificada se sustituye
por el valor especificado a lo largo del programa (constante).
● #pragma [xyz]: Su significado es diferente para cada compilador, a menudo
permite al programador mostrar una advertencia o un error si la directiva es
alcanzada durante el proceso.
● La función main()
Es donde el programa empieza, el main() retorna un int indicando el resultado del
estado del programa. La función main() o bien no toma ningún parámetro o toma dos
de la siguiente manera: “int main(int argc, char* argv[])”. argc da el número de
argumentos pasados al programa, y argv contiene estos argumentos. Tome en cuenta
que argv[0] puede ser el nombre del programa, pero no confies, es mejor no usarlo.
● I/O Streams
Es un conjunto de clases y archivos cabeceras que provee la librería estándar de C++,
este provee los siguientes streams predefinidos:
● cin: Acepta entradas del usuario. La forma más sencilla de hacerlo es usando
std::cin >>
● cout: Envía múltiples datos de distintos tipos de forma secuencial en una sola
línea de código hasta que se encuentra con st::endl. Una manera alternativa de
representar el fin de una línea es usando caracteres de escape, tales como, “\n”,
“\r”, “\t”, “\\”, “\’’” La forma en la que se escribe el código es std::cout <<
● cerr: Da salida a la salida consola de errores.
● Namespaces
Los namespaces solucionan el problema de los conflictos de nombres entre distintas
partes del código. Es posible definir el contexto en el que se definen los nombres.
El sintax de namespace es el siguiente:
#include <iostream>
using namespace std;
int main(){
cout <<...
...
}
Sin embargo existe una manera de declarar using para referirse a un ítem particular
sin usar un namespace. Te puedes referir a un cout de la siguiente manera:
using std::cout;

El código posterior puede referirse a cout sin anteponer el espacio de nombres, pero
otros elementos del espacio de nombres std tendrán que ser explícitos:
using std::cout;
cout << ”Hello, world!” << std::endl;
Nunca ponga una declaración o directiva using en un archivo cabecera, de lo
contrario, lo forzarás en todos los que incluyen tu cabecera.

● Variables
En C++ las variables pueden ser declaradas en cualquier lugar de nuestro código y
usadas en cualquier parte del bloque donde fueron declaradas. Pueden no estar
inicializadas como tomar un valor cuando se les declara.
Las variables pueden convertirse a otro tipo de variable realizando casting. Existe tres
métodos:
Para un float myfloat = 3.14f;
1. Es un método usado en C, desafortunadamente es el más usado: int i =
(int)myFloat;
2. Es un método que luce más natural: int i =int(myFloat);
3. El tercer método es el más limpio y recomendado: int i =
static_cast<int>(myFloat);
En algunos casos las variables realizan casting automáticamente, cuando sucede,
debes de ser consciente de la pérdida potencial.
● Literales
Los literales son usados para escribir valores fijos en nuestro código como números o
strings . C++ soporta un número de literales estándar, es posible definir tus propios
literales. C++14 permite el uso de dígitos separados por en literales numéricos como
un apóstrofe.
● Operadores
Se utilizan para realizar operaciones con variables y valores. Tenga en cuenta que los
operadores en C++ pueden ser binarios, unarios, o incluso ternarios. Los operadores
más comunes son:
● = : Asigna el valor de la derecha a la expresión de la izquierda.
● !: Complementa el estado verdadero/falso de una expresión.
● +, -, *, /, % = Operadores de suma, resta, multiplicación, división, y módulo
respectivamente.
● ++: Incrementa una expresión en 1. Si el operador está después de la
expresión(i++) el resultado de la expresión es el mismo valor, si el operador
está antes de la expresión (++i) el resultado es un nuevo valor.
● --: Decrementa una expresión en 1.
● +=, -=, *=, /=, %=: Sintaxis corta para i = i operador j.
● &, &=, |, |=: Toma los bits de una expresión y realiza una comparación “AND”
(&) o “OR”(|) con otra expresión.
● <<, >>, <<=, >>=: Compara los bits de una expresión y los desplaza cada bit a
la izquierda (<<) o derecha(>>) según el número especificado.
● ^, ^=: Realiza una operación “XOR” en las dos expresiones.
● Tipos
○ Estructuras
Las estructuras te dejan encapsular unos o más tipos existentes dentro de uno
nuevo.
○ Tipos enumerados
Te permite definir tus propias secuencias para que puedas declarar variable
con valores en esa secuencia.
○ Enumeración fuertemente tipificada
Son enumeraciones seguras, mientras que las enumeraciones normales se
pueden convertir en tipos enteros, las enumeraciones fuertemente tipificadas
no pueden hacerlo sin una conversión.

● Condicionales
Existen tres tipos de condicionales:
1. Declaraciones if/else: La condición se da dentro del if, si esta es verdadera la
línea o el bloque del código es ejecutado. Caso contrario, continua con el else
o el código que continúa.La expresión dentro de los paréntesis de una
declaración if debe ser un valor booleano o evaluar a un valor booleano.
2. Declaraciones switch: Es una sintaxis alternativa para realizar una acción
basada en el valor de una expresión, la cual debe ser un valor de tipo integer o
uno convertible a un tipo integer, que deben ser comparadas con las
constantes. Cada constante representa un caso. Si la expresión encaja con el
caso, las líneas subsecuentes son ejecutadas antes de una declaración break.
3. El operador condicional: Es un tipo de operador ternario, es usado de la forma
“si algo luego acción a realizar, de lo contrario otra acción a realizar”. El
operador es representado por un ? y :. Ejemplo: std::cout << ((i > 2)) ? “yes” :
“no”; Esta línea imprimirá yes si i es mayor a 2. La ventaja de este operador es
que puede darse incluso sin un contexto.
● Operadores de Evaluación Lógica
Los operadores lógicos más comunes son:
● <, <=, >, >=: Determinan si el lado izquierdo es menor, mayor o igual que el
lado derecho.
● ==: Determina si el lado izquierdo es igual al lado derecho.
● !=: No igual, el resultado de esta declaración es verdadera si el lado izquierdo
es diferente al derecho.
● !: Not lógico. Complementa el verdadero/falso de una expresión booleana.
● &&: AND lógico. El resultado es verdadero si ambas partes de una expresión
son verdaderas.
● ||: OR lógico. El resultado es verdadero si cualquier parte de la expresión es
verdadera.
● Arreglos
Los arreglos contienen una serie de valores del mismo tipo, se puede acceder a todos
ellos por su posición. En C++, debes de proveer el tamaño del array cuando es
declarado, debe ser una constante.
● Bucles
○ While
○ do/while
○ For
○ Range-Based for
● Funciones
○ Sintaxis de Función Alternativa
Desde C++11, una sintaxis de función alternativa es soportada con un tipo de
retorno final . Esta nueva sintaxis no es usada en funciones ordinarias, pero es
muy útil cuando se especifica el tipo de retorno. Por ejemplo:
auto func(int i) -> int{
return i+2;
}
La palabra auto en este caso tiene el significado de iniciar un prototipo de
función utilizando la sintaxis de función alternativa.
○ Función Deducción de Tipo Retorno
C++14 te permite pedir al compilador que averigüe el tipo de retorno de una
función automáticamente. Para hacer uso de esta, debe especificar auto como
tipo de retorno y omitir cualquier tipo de retorno.
auto divideNumbers(double numerator, double denominator){
if (denominator == 0) { /* ... */ }
return numerator / denominator;
}

También podría gustarte