Expresiones y declaraciones en c ++ de programación

Video: Programación en C++ 03 - Expresiones aritmeticas

Para realizar un cálculo en el programa en C ++ que necesita una expresión. Una expresión es una declaración que tiene un valor y un tipo. En el programa de C ++, una declaración es la declaración que define una variable o se trata de un “tanque de retención” de algún tipo de valor como un número o carácter.

expresiones

Expresiones toman una de las siguientes formas:

objName // para una expresión sencilla objectoperator // para expr2 unario operador operatorsexpr1 // para operatorsexpr1 binaria? expr2: // expr3 para la operatorfuncName ternaria ([lista de argumentos]) - // para llamadas a funciones

expresiones literales

Un literal es una forma de expresión constante. Los diversos tipos de literales se definen en la siguiente tabla.

EjemploTipo
1int
1Llong int
1LLlong int largo
1.0doble
1.0fflotador
‘1’carbonizarse
"una cuerda"char * (terminada automáticamente con un carácter nulo)
L”una cadena”wchar_t *
U8 "esto es una cadena UTF-8 con un carácter UTF-8: u2018"char8_t *
u”esto es una cadena UTF-16 con un carácter UTF-16: u2018"char16_t *
T”esto es una cadena UTF-32 con un carácter UTF-32:
U00002018 "
char32_t *
verdadero Falsobool
0b101binaria (C ++ 2014 estándar)

declaraciones

Declaraciones utilizan ambos tipos intrínsecos y definidos por el usuario. Los tipos intrínsecos son

Video: 10. Programación en C - Operador de Asignación

[]carbonizarse[] Wchar_t [] [] Intfloat [] doublebool largo

Las declaraciones tienen una de las siguientes formas:

Video: C++ - Ejemplo de Expresiones 1

[] [Const] type var [= expresión] - // variable de [] [const] tipo de matriz [tamaño] [= {list}] - // array [const] tipo de objeto [(lista de argumentos)] - // objeto [const] tipo de objeto [= {lista de argumentos}] - [const] // alternativa tipo * [const] ptr [= expresión puntero] - // pointertype& RefName = a objetos // referencetype fnName ([lista de argumentos]) - // función

la palabra clave auto se puede utilizar si C ++ puede determinar el tipo de variable en sí:

Video: programacion c++

auto var = 1L- // del tipo de var es largo int

la palabra clave decltype extrae el tipo de una expresión. Este tipo se puede utilizar siempre que se utilice un nombre de tipo. Por ejemplo, el siguiente ejemplo se utiliza decltype para declarar una segunda variable con mismo tipo que una variable existente:

decltype (var1) var2- // del tipo de var2 es el mismo que var1

Una definición de función tiene el siguiente formato:

// función simple [] type fnName (lista de argumentos) {...} // función miembro de la clase definida fuera de [en línea] Tipo de Clase :: func (lista de argumentos) [const] {...} // constructor / destructores también puede definirse fuera del classClass :: Clase ([lista de argumentos]) {...} Clase :: ~ Clase () {...} // constructores / destructor se pueden eliminar o predeterminada // en lugar de definitionClass: : Clase ([lista de argumentos]) = -Class :: ~ Clase () = -

Un operador sobrecargado se ve como una definición de función. La mayoría de los operadores sobrecargados pueden escribirse ya sea como miembro o funciones simples. Cuando se escribe como una función miembro, *esta es el primer argumento supone que el operador:

Mi clase& operador + (const MyClass& m1, MiClase const& m2) - // simpleMyClass& MyClass :: operador + (const MiClase& m2) - Miembro-//

Los usuarios también pueden definir sus propios tipos de uso de la clase o structpalabras clave:

 Nombre clase [: [virtual] [público] BaseClass] {: // constructorClassName ([lista arg]) lt; [: miembro (val), ...] {...} | -gt; NombredeClase () [= -] // destructor [virtual] ~ NombredeClase () lt; {...} | [= -gt; // memberstype datos públicos dataMemberName [= initialValue] - // miembro público functionstype memberFunctionName ([lista arg]) [{...}] // método constante FunctionType memberFunctionName ([lista arg]) const [{ ...}] // virtuales tipo de miembro functionsvirtual memberFunctionName ([lista arg]) [{...}] - // virtual pura tipo de miembro functionsvirtual memberFunctionName ([lista arg]) = 0 - // función que tendrá prioridad sobre una FunctionType clase base memberFunctionName ([lista arg]) override - // una función que no puede ser anulado en un memberFunctionName subclasstype ([lista arg]) final -} -

Además, un constructor con un solo argumento puede ser marcado como explícito lo que significa que no será utilizado en una conversión implícita de un tipo a otro. Cómo marcar un constructor como defecto significa “utilizar el C ++ definición constructor por defecto”. Cómo marcar un constructor como borrar elimina el defecto C ++ definición constructor.

C ++ soporta dos tipos de tipos enumerados. El siguiente tipo de enumeración de edad no crea un nuevo tipo:

enumeración ESTADO {// DC, se 0ALABAMA, // obtiene 1ALASKA, // obtiene 2ARKANSAS, // // obtiene 3 ... y así sucesivamente} -INT n = Alaska- // Alaska es de tipo int

Por defecto una entrada individual es de tipo int pero esto se puede cambiar en el estándar C ++ 2011:

enumeración del alfabeto: char {A = `a`, // obtiene `A`B, // obtiene` b`c, // obtiene `c` // ... y así sucesivamente} -char c = A- // A es de tipo char

C ++ 2011 permite a un segundo formato hace que crear un nuevo tipo:

// la siguiente enumeración define una nueva clase ESTADO tipo STATEenum {DC, // obtiene 0ALABAMA, // obtiene 1ALASKA, // obtiene 2ARKANSAS, // obtiene 3 // ... y así sucesivamente} -Estado s = ESTADO :: Alaska- // ESTADO ahora es un nuevo tipo // el siguiente utiliza un alfabeto clase typeenum subyacente diferente: char {a = `a`, // obtiene `A`B, // obtiene `b`c, // obtiene` c `// ... y así sucesivamente} -Alfabeto c = ALFABETO :: A- // Una es de tipo ALFABETO

declaraciones de plantilla tienen un formato ligeramente diferente:

// tipo T es proporcionada por el programador en usetemplate  tipo nombrefunción plantilla ([lista arg])  NombredeClase clase {{...}} -
Artículos Relacionados