Macros vs Funciones

Una macro es un nombre que se le da a un bloque de instrucciones C como una directiva de preprocesador. Al ser un preprocesador, el bloque de código se comunica al compilador antes de entrar en la codificación real (función principal()). Una macro se define con la directiva de preprocesador. Las macros se procesan previamente, … Continue reading «Macros vs Funciones»

¿Cómo ordenar una array de fechas en C/C++?

Dada una serie de fechas, cómo ordenarlas. Ejemplo: Input: Date arr[] = {{20, 1, 2014}, {25, 3, 2010}, { 3, 12, 1676}, {18, 11, 1982}, {19, 4, 2015}, { 9, 7, 2015}} Output: Date arr[] = {{ 3, 12, 1676}, {18, 11, 1982}, {25, 3, 2010}, {20, 1, 2014}, {19, 4, 2015}, { 9, 7, … Continue reading «¿Cómo ordenar una array de fechas en C/C++?»

Resultados de operaciones de comparación en C y C++

En C, el tipo de datos del resultado de las operaciones de comparación es int. Por ejemplo, vea el siguiente programa. #include<stdio.h> int main() {     int x = 10, y = 10;     printf(«%d \n», sizeof(x == y));     printf(«%d \n», sizeof(x < y));     return 0; } Producción: 4 4 Mientras que en C++, el tipo de … Continue reading «Resultados de operaciones de comparación en C y C++»

Sobrecarga de funciones y palabra clave const

La sobrecarga de funciones es una característica de la programación orientada a objetos en la que dos o más funciones pueden tener el mismo nombre pero diferentes parámetros. Cuando el nombre de una función se sobrecarga con diferentes trabajos, se denomina sobrecarga de funciones. En la sobrecarga de funciones, el nombre de la «función» debe … Continue reading «Sobrecarga de funciones y palabra clave const»

C++ avanzado | Constructor virtual

¿Podemos hacer que un constructor de clases sea virtual en C++ para crear objetos polimórficos? No. Al ser C++ un lenguaje de tipo estático (el propósito de RTTI es diferente), no tiene sentido para el compilador de C++ crear un objeto polimórficamente. El compilador debe conocer el tipo de clase para crear el objeto. En … Continue reading «C++ avanzado | Constructor virtual»

¿Se hereda el operador de asignación?

En C++, como otras funciones, la función de operador de asignación se hereda en la clase derivada. Por ejemplo, en el siguiente programa, se puede acceder a la función de operador de asignación de clase base mediante el objeto de clase derivada. #include<iostream>    using namespace std;    class A {  public:    A & operator= … Continue reading «¿Se hereda el operador de asignación?»

Inicialización de arreglos multidimensionales en C/C++

En C/C++, la inicialización de arrays multidimensionales puede haber dejado la mayoría de las dimensiones como opcionales. Excepto la dimensión más a la izquierda, se deben especificar todas las demás dimensiones. Por ejemplo, el siguiente programa falla en la compilación porque no se especifican dos dimensiones.   C #include<stdio.h> int main() {   int a[][][2] = { {{1, … Continue reading «Inicialización de arreglos multidimensionales en C/C++»

Imprima «par» o «impar» sin usar declaración condicional

Escriba un programa que acepte un número del usuario e imprima «Par» si el número ingresado es par e imprima «Impar» si el número es impar. No está permitido usar ninguna comparación (==, <,>,…etc) o declaraciones condicionales (if, else, switch, operador ternario, etc.). Método 1  A continuación se muestra un código engañoso que se puede … Continue reading «Imprima «par» o «impar» sin usar declaración condicional»

Intercambiar dos variables en una línea

Hemos discutido diferentes enfoques para intercambiar dos enteros sin la variable temporal . ¿Cómo cambiar a una sola línea sin usar la función de biblioteca? 1) Python: en Python, hay una construcción simple y sintácticamente ordenada para intercambiar variables, solo necesitamos escribir «x, y = y, x». 2) C/C++: a continuación se muestra una solución … Continue reading «Intercambiar dos variables en una línea»

string en() en C++

std::string::at se puede usar para extraer caracteres por caracteres de una string determinada. Admite dos sintaxis diferentes, ambas con parámetros similares:  Sintaxis 1:   char& string::at (size_type idx) Sintaxis 2:   const char& string::at (size_type idx) const idx : index number Both forms return the character that has the index idx (the first character has index 0). For … Continue reading «string en() en C++»