Sunteți pe pagina 1din 7

Switch:

Caso default: aparece al final si no cumple ninguna de las condiciones anteriores

Si se usa break, se sale del bloque switch

Los caracteres van entre ‘’, los strings entre “”

Array

int arr[] = {11, 35, 62, 555, 989};

Sumar elementos de un array

int sum = 0;

for (int x = 0; x < 5; x++) {


sum += arr[x];
}

cout << sum << endl;

Array multidimensional

int x[2][3] = {
{2, 3, 4}, // 1st row
{8, 9, 10} // 2nd row
};

INTRODUCCION A PUNTEROS

int score = 5;
cout << &score << endl;

//Outputs "0x29fee8", DIRRECCION EN LA MEMORIA

Punteros

Un puntero es una variable, con la dirección de otra variable como su valor. Todos los punteros
comparten el mismo tipo de dato, un numero hexadecimal que representa su dirección en la
memoria. Sirve para cambiar datos en la memoria dinámica

Se nombran con un asterisco (*)

int *ip; // pointer to an integer


double *dp; // pointer to a double
float *fp; // pointer to a float
char *ch; // pointer to a character

int *p = &x;
es lo mismo que:
int *p;
p = &x;

* is to learn for content


& is to learn for address
example: int x = 9; //decleration
int *p = &x; //decleration
cout << x; // 9
cout << *p; // 9
cout << &x; // address of x
cout << p; // address of x
cout << &p; // address of p

int score = 5;
int *scorePtr;
scorePtr = &score;

cout << scorePtr << endl;

Hay dos operadores para punteros

&: devuelve la direccion de memoria


*: devuelve el valor de la variable ubicada en la dirección especificada.

int var = 50;


int *p;
p = &var;

cout << var << endl;


// Outputs 50 (the value of var)

cout << p << endl;


// Outputs 0x29fee8 (var's memory location)

cout << *p << endl;


/* Outputs 50 (the value of the variable
stored in the pointer p) */

TIPO DE MEMORIA

El Stack (Pila) se utiliza para almacenar variables locales, variables de referencia, parámetros y
valores de retorno, resultados parciales. Guarda las variables declaradas en main() y todas las
funciones
El Heap (Montículo) almacena objetos y sus variables de instancia. Es un espacio de memoria
dinámica que se crea al inicio de la máquina virtual y es único. Es la región de la memoria que es
manejada por el programador usando punteros para acceder a la memoria.

New int se guarda en el montículo

Int (normal) se guarda en la pila

La función sizeof() devuelve el tamaño de la variable

FUNCIONES

Tipo_valor_retornado nombre(tipo_dato parâmetro)

Las funciones de tipo void no devuelven/retorna ningún valor. Se usa cuando en la funcion hay un
return, sino se usa int (adentro hay un print/cout)

Para llamar a una función, se la escribe con los parámetros entre paréntesis

Si se quiere crear una función luego del main(), hay que crear una función igual (prototipo) antes del
main

ARGUMENTOS Y PARAMETROS

Para que una función use argumentos, debe declararse parámetros formales, que son variables que
aceptan los valores del argumento

void printSomething(int x)
{
cout << x;
}

EJEMPLO

#include <iostream>

using namespace std;

int sum(int x, int y)

return x+ y;

// aqui int x, int y son parámetros

/* la funcion suma toma estos valores y devuelve su suma

*/

int main(){

int a = 2;

int b = 3;

cout<<sum(a,b)<<endl;

/* Aquí a y b son argumentos que toma la función. */

return 0;

FUNCION RAND()

Se necesita usar la librería

#include <cstdlib>

 Para conseguir numeros de un rango del 1-6


int main () {
for (int x = 1; x <= 10; x++) {
cout << 1 + (rand() % 6) << endl;
}
}

La función SRAND() es verdaderamente aleatoria ya que permite colocar un seed. Si se la combina


con la librería ctime:

 #include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main () {
srand(time(0));

for (int x = 1; x <= 10; x++) {


cout << 1 + (rand() % 6) << endl;
}

CASO DEFAULT EN PARAMETRO DE FUNCIONES

int sum(int a, int b=42) {


int result = a + b;
return (result);
}

FUNCIONES CON MISMO NOMBRE

Se puede hacer siempre que el tipo de dato del parámetro sea distinto

void printNumber(int a)

void printNumber(float a)
RECURSIVIDAD

Ejemplo para encontrar el factorial de un número

int factorial(int n) {
if (n==1) {
return 1;
}
else {
return n * factorial(n-1);
}
}

A las funciones se las puede llamar por valor o por referencia. En el primer caso usa una copia
del valor real en el parámetro formal de la funcion, sin afectar a la variable en cuestión.

En cambio, si se lo llama por referencia, cualquier cambio hecho al parámetro afecta al


argumento

LLAMADA POR VALOR

void myFunc(int x) {
x = 100;
}

int main() {
int var = 20;
myFunc(var);
cout << var;
}
// Outputs 20

LLAMADA POR REFERENCIA (se usan punteros)

void myFunc(int *x) {


*x = 100;
}

int main() {
int var = 20;
myFunc(&var);
cout << var;
}
// Outputs 100

OBJETOS Y CLASES

Un objeto son unidades independientes, y cada una tiene su identidad propia. A las
características particulares que tiene un objeto se las denomina atributos. Un atributo describe
el estado actual de un objeto, y puede tener varios al mismo tiempo. A su vez cada objeto tiene
un comportamiento distinto.

Las tres dimensiones que abarca cualquier objeto en POO son: identidad, atributos y
comportamiento.

CLASES

Los objetos son creados utilizando clases. Las clases describen como será el objeto, pero lo
separa del objeto en sí.

Es decir, una clase es el arquetipo del objeto, descripción o definición.

Un método es una función que pertenece a una clase.

El proceso de crear objetos se denomina instanciación.


Sintaxis:

La definición de una clase termina con un punto y coma.

 EJEMPLO:
class BankAccount {
public:
void sayHi() {
cout << "Hi" << endl;
}
};

int main()
{
BankAccount test;
test.sayHi();
}

“test” es el objeto que creamos y posee todos los atributos de la clase BankAccount.

Usamos “

S-ar putea să vă placă și