Sistema de programación orientado a objetos.
La clase es un plano que refleja los atributos y acciones de las entidades. Definir técnicamente una clase es diseñar un tipo de datos definido por el usuario.
Una instancia de la clase se llama objeto.
Único, multinivel, múltiple, jerárquico e híbrido.
Si un miembro de la clase está protegido, se puede acceder a él en la clase heredada. Sin embargo, fuera de los miembros privados y protegidos no se puede acceder.
El proceso de vincular los datos y las funciones que actúan sobre los datos juntos en una entidad (clase) llamada encapsulación.
La abstracción se refiere a ocultar la implementación interna y exhibir solo los detalles necesarios.
La herencia es el proceso de adquirir las propiedades de la clase saliente en la nueva clase. La clase existente se llama como clase base / padre y la clase heredada se llama como clase derivada / hijo.
Declarar una variable volátil indica al compilador que la variable se puede cambiar externamente. Por lo tanto, se evita la optimización del compilador en la referencia de la variable.
Una función prefijada con la palabra clave en línea antes de la definición de la función se llama como función en línea. Las funciones en línea son más rápidas en ejecución en comparación con las funciones normales, ya que el compilador trata las funciones en línea como macros.
La clase de almacenamiento especifica la vida o el alcance de símbolos como variables o funciones.
Las siguientes son clases de almacenamiento compatibles con C ++
automático, estático, externo, de registro y mutable
La variable miembro de un objeto de clase constante se puede alterar declarándola utilizando un especificador de clase de almacenamiento mutable. Aplicable solo para variables miembro no estáticas y no constantes de la clase.
La copia superficial realiza un volcado de memoria bit a bit de un objeto a otro. La copia profunda es copiar campo por campo de un objeto a otro. La copia profunda se logra utilizando el constructor de copia y el operador de asignación de sobrecarga.
Una función virtual sin cuerpo de función y asignada con un valor cero se llama como función virtual pura.
Una clase con al menos una función virtual pura se llama clase abstracta. No podemos instanciar una clase abstracta.
Una variable de referencia es un nombre de alias para la variable existente. Lo que significa que tanto el nombre de la variable como la variable de referencia apuntan a la misma ubicación de memoria. Por lo tanto, la actualización de la variable original también se puede lograr utilizando la variable de referencia.
Una variable estática sale aunque no se crean los objetos para la clase respectiva. La variable miembro estática comparte una memoria común entre todos los objetos creados para la clase respectiva. Se puede hacer referencia a una variable miembro estática utilizando el propio nombre de clase.
Una función miembro estática puede invocarse utilizando el nombre de la clase cuando sale antes de que los objetos de la clase entren en existencia. Solo puede acceder a miembros estáticos de la clase.
wchar_t
Punto (.) Y Flecha (->)
No, definir una clase / estructura es solo una definición de tipo y no se asignará memoria para la misma.
bool, es el nuevo tipo de datos primitivo introducido en el lenguaje C ++.
La definición de varias funciones con el mismo nombre con una lista única de parámetros se denomina sobrecarga de funciones.
La definición de un nuevo trabajo para el operador existente con los objetos de clase se denomina sobrecarga de operador.
No, es una clase de STL (biblioteca de plantillas estándar).
cin, cout, cerr y clog.
Privado y protegido.
Operador de resolución de alcance (: :)
Un destructor es la función miembro de la clase que tiene el mismo nombre que el nombre de la clase y tiene el prefijo de tilde (~). Se ejecuta automáticamente con el objeto tan pronto como el objeto pierde su alcance. No se puede sobrecargar y el único formulario es sin los parámetros.
Un constructor es la función miembro de la clase que tiene lo mismo que el nombre de la clase y se ejecuta automáticamente tan pronto como se crea el objeto para la clase respectiva.
Cada clase tiene un constructor proporcionado por el compilador si el programador no proporciona uno y se conoce como constructor predeterminado. Un constructor proporcionado por el programador sin parámetros se llama como constructor predeterminado. En tal caso, el compilador no proporciona el constructor.
'nuevo' es el operador que se puede utilizar para el mismo.
El operador 'eliminar' se utiliza para liberar la memoria dinámica que se creó con el operador 'nuevo'.
Sí, como C es el subconjunto de C ++, también podemos todas las funciones de C en C ++.
No, necesitamos usar lenguaje C libre () para lo mismo.
Una función que no es miembro de la clase pero que aún puede acceder a todos los miembros de la clase se llama así. Para que esto suceda, necesitamos declarar dentro de la clase requerida siguiendo la palabra clave 'amigo'.
Un constructor de copia es el constructor que toma la misma referencia de objeto de clase que el parámetro. Se invoca automáticamente tan pronto como el objeto se inicializa con otro objeto de la misma clase en el momento de su creación.
C ++ admite el manejo de excepciones. try, catch & throw son palabras clave que se utilizan para lo mismo.
Esta es la variable puntero del compilador que siempre contiene la dirección del objeto activo actual.
Por defecto, los miembros de la estructura son públicos y por defecto los miembros de la clase son privados.
Si.
Se dice así una variable cuyo alcance es aplicable solo dentro de un bloque. Además, una variable en C ++ se puede declarar en cualquier lugar dentro del bloque.
Si el archivo ya existe, su contenido se truncará antes de abrirlo.
El operador de resolución de alcance se utiliza para
- Resuelve el alcance de las variables globales.
- Asociar la definición de función a una clase si la función se define fuera de la clase.
Un espacio de nombres es la división lógica del código que se puede utilizar para resolver el conflicto de nombres de los identificadores colocándolos bajo un espacio de nombres diferente.
Los argumentos / parámetros que se envían a la función main () mientras se ejecuta desde la línea de comando / consola se denominan así. Todos los argumentos enviados son solo cadenas.
Una clase de plantilla es una clase genérica. La plantilla de palabras clave se puede utilizar para definir una plantilla de clase.
El bloque de captura con elipses de la siguiente manera
catch(…)
{
}
Por defecto, cada variable local de la función es automática (auto). En la siguiente función, las variables 'i' y 'j' son variables automáticas.
void f()
{
int i;
auto int j;
}
NOTE - Una variable global no puede ser una variable automática.
Una variable local estática retiene su valor entre la llamada a la función y el valor predeterminado es 0. La siguiente función imprimirá 1 2 3 si se llama tres veces.
void f()
{
static int i;
++i;
printf(“%d “,i);
}
Si una variable global es estática, su visibilidad se limita al mismo código fuente.
Se utiliza para resolver el alcance del símbolo global.
#include <iostream>
using namespace std;
main() {
extern int i;
cout<<i<<endl;
}
int i = 20;
La dirección inicial de la matriz se llama como la dirección base de la matriz.
Si una variable se usa con más frecuencia, entonces debe declararse usando el especificador de almacenamiento de registros, entonces posiblemente el compilador proporcione un registro de CPU para su almacenamiento para acelerar la búsqueda de la variable.
Sí, se puede ejecutar pero no se puede ejecutar, ya que la ejecución requiere la definición de la función main ().
Cada variable local por defecto es una variable automática se almacena en la memoria de pila
Una clase que contiene al menos una variable miembro de otro tipo de clase se llama así.
Un programa de C ++ consta de varios tokens y un token es una palabra clave, un identificador, una constante, una cadena literal o un símbolo.
El preprocesador es una directiva para que el compilador realice ciertas cosas antes de que comience el proceso de compilación real.
Los argumentos que pasamos a la función main () mientras ejecutamos el programa se llaman argumentos de línea de comando. Los parámetros son siempre cadenas contenidas en el segundo argumento (a continuación en args) de la función que es una matriz de punteros de caracteres. El primer argumento representa el recuento de argumentos (a continuación en recuento) y se actualiza automáticamente por el sistema operativo.
main( int count, char *args[]) {
}
Call by value- Enviamos solo valores a la función como parámetros. Elegimos esto si no queremos que los parámetros reales se modifiquen con parámetros formales, sino que simplemente se utilicen.
Call by address- Enviamos la dirección de los parámetros reales en lugar de los valores. Elegimos esto si queremos que los parámetros reales se modifiquen con parámetros formales.
Call by reference- Los parámetros reales se reciben con las nuevas variables de referencia de C ++ como parámetros formales. Elegimos esto si queremos que los parámetros reales se modifiquen con parámetros formales.
Error, no es válido que cualquiera de los operandos del operador de módulo (%) sea un número real.
Opiton –lm para ser utilizado como> g ++ –lm <file.cpp>
No, no existe tal disposición disponible.
Bjarne Stroustrup.
tamaño de
Podemos aplicar el operador de resolución de alcance (: :) al para el alcance de la variable global.
Las únicas dos operaciones permitidas en punteros son
Comparación ii) Suma / Resta (excluyendo punteros vacíos)
La función que se llama a sí misma se llama recursividad.
Nombre del programa.
Idealmente, tiene 32 caracteres y también depende de la implementación.
Por defecto, las funciones se llaman por valor.
Público, privado y protegido
Delete [] se usa para liberar la memoria asignada a la matriz que se asignó con new [] y delete se usa para liberar una porción de memoria que se asignó con new.
No necesariamente, una clase que tiene al menos una función virtual pura también es una clase abstracta.
No, será un error ya que el compilador no puede realizar la conversión.
El programa se cerrará abruptamente.
No, las excepciones se pueden manejar mientras que el programa no puede resolver errores.
Definir las funciones dentro de la clase base y derivada con la misma firma y nombre donde la función de la clase base es virtual.
seekg ()
seekp ()
No, solo las variables de miembro de clase determinan el tamaño del objeto de clase respectivo.
Podemos crear una clase vacía y el tamaño del objeto será 1.
Espacio de nombre predeterminado definido por C ++.
Biblioteca de plantillas estándar
cout es el objeto de la clase ostream. La secuencia 'cout' está conectada de forma predeterminada al dispositivo de salida de la consola.
cin es el objeto de la clase istream. La secuencia 'cin' está conectada de forma predeterminada al dispositivo de entrada de la consola.
Se utiliza para especificar el espacio de nombres que se utiliza en.
El operador de flecha (->) se puede utilizar para el mismo
Si se incluye un archivo de encabezado en <>, el compilador busca el archivo de encabezado en particular solo con la ruta de inclusión incorporada. Si se incluye un archivo de encabezado en "", entonces el compilador busca el archivo de encabezado en particular primero en el directorio de trabajo actual, si no se encuentra, entonces en la ruta de inclusión incorporada
S ++, ya que es una instrucción de máquina única (INC) internamente.
Los parámetros enviados a la función al final de la llamada se llaman como parámetros reales mientras que en la recepción de la definición de función se llaman como parámetros formales.
La declaración asocia el tipo a la variable, mientras que la definición le da el valor a la variable.
ir.
No, contiene dígitos octales no válidos.
Se utilizará para anular la definición de una macro existente.
No podemos.
Un destructor virtual garantiza que los recursos de los objetos se liberen en el orden inverso al del objeto que se está construyendo con el objeto heredado.
Los objetos se destruyen en el orden inverso al de su creación.
Los miembros de una clase pueden obtener accesibilidad sobre otros miembros de la clase colocando la declaración de clase con el prefijo "amigo" en la clase de destino.