introducciÓn al lenguaje c++. 2 en c++ la entrada y salida de datos se realiza a través de...

63
INTRODUCCIÓN AL LENGUAJE C++

Upload: maite-tallon

Post on 23-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

INTRODUCCIÓN AL LENGUAJE C++

Page 2: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

2

En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)

Estos flujos están definidos en la librería iostream.h que deberá ser incluida en el programa

Entrada y salida

Page 3: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

3

cout corresponde al flujo de SALIDA.

Normalmente corresponde a la pantalla del usuario.

El operador de insercción, <<, inserta datos en el flujo cout. Por ejemplo:

cout<< “Mensaje de prueba “;

cout<< 500<<600<<700

int i=5, j=10,m=100;

cout<< "El valor de i es:"<<i << j << m;

Salida: cout

Page 4: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

4

cout.setf(ios::fixed) Imprime en formato punto fijo (scientific es el estándar)

cout.setf(ios::showpoint) Imprime mostrando el punto decimal

cout.precision(n) Decimales de precisión

cout.width(n) Espacios para mostrar un valor

cout.setf(ios::right) Justifica el texto a imprimir a la derecha (left)

Salida con formato

Page 5: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

5

Proporciona un flujo de entrada

El operador de extracción >>, extrae valores del flujo y lo almacena en variables

Normalmente el flujo de entrada es el tecladoint numero1, numero2;

cin>>numero1;

cin>>numero2;

Entrada: cin

Page 6: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

6

#include <iostream.h>int main() { cout << "Ingrese su edad: "; int miEdad; cin >> miEdad; cout << "Ingrese la edad de un amigo: "; int suEdad; cin >> suEdad; if (miEdad < suEdad) cout << "Yo soy menor que mi amigo“ << endl; else if (miEdad > suEdad) cout << "Mi amigo es menor que yo \n "; else cout << “Ambos tenemos la misma edad \n "; return 0;}

Ingresar 2 edades y determinar quién es mayorEjercicio

Page 7: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

7

Tipos de DatosELEMENTALES

Page 8: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

8

Tipo Ejemplo Bytes

Rango

char ‘a’ 1 0..255

short -15 1 -128..127

int 1024 2 -32768..32767

long 262144 4 -2147483648..2147483637

float 10.5 4 3.4*10E-38.3.4*10E308

double 0.00045 8 1.7*10E-308..1.7*10E308

Tipos numéricos

Page 9: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

9

Un puntero es una variable que puede almacenar una dirección de memoria.

Una variable de tipo puntero puede guardar direcciones de variables de un tipo determinado: punteros a int, a double, a char, etc.

Punteros

Page 10: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

10

tipo *nombre_variable;

int i=3, *p,*r; // p y r son punteros a enterodouble d=3.3,*q; // q es un puntero a doublechar c='a', *t; // t es un puntero a carácter

p=&i; r=p; p=q; es un ERROR porque son punteros de

diferente tipo

Declaración de punteros

Page 11: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

11

cin>>*p; if (p==r) cout<<"El valor de i es: "<<*p; *p=*p+3; p=p+3;

Otras operaciones con punteros

Page 12: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

12

Es posible desplegar una dirección como valor de una variable de tipo puntero, o la dirección de cualquier variable, utilizando cout

cout << “p = “ << p << endl;

cout << “&n = “ << &n << endl;

cout << “&p= “ << &p << endl;

Mostrar una dirección

Page 13: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

13

1. int *p, *q, a=5

??

??

p

q

2. p=&a 3. *p=8;

??

p

q8

4. q=p;

p

q8

5. *q=85;

p

q85

??

p

q

5a

5a:

a

a a

Ejemplo ilustrativo

Page 14: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

14

6. a=33;

p

q33

7. int b=1;

p

q

33

1

a a

b

8. q=&b;

p

q

9

1

a

b

NOTA

a, b, p, q : variables locales automáticas

Ejemplo ilustrativo

Page 15: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

15

int main() { int x, y, *p, *q; p = &x; *p = 5; q = &y; *q = 23; cout << *p << " “ << *q << endl; q = p; *p = 35; cout << *p << " “ << *q << endl; q = NULL; cout << x << " “ << y << endl; return 0;}

Ejemplo 1:

Page 16: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

16

int main() { int *p, *q, x, y; p = &x; *p = 14; q = p; cout << *p << " " << *q << endl; q = NULL; cout << x << " “ << y << endl; return 0;}

Ejemplo 2:

Page 17: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

17

int main() { int x, y, *p, *q;

p = &x;*p = 12;q = &y;*q = 23;cout << *p <<" "<<*q<<endl;*p = *q;cout << *p <<" "<<*q<<endl;q = NULL;cout<<*p<<endl;cout<<x<<" "<<y<<endl;return 0;

}

Ejemplo 3:

Page 18: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

18

int main() {int x, y, *p, *q;p = &x;*p = 14;q = p;if ( p == q) cout<<"Mensaje 1";q = &y;if ( p == q) cout<<"Mensaje 2";*q = 14;if (p == q) cout<<"Mensaje 3";if (*p == *q) cout<<"Mensaje 4";return 0;

}

Ejemplo 4:

Page 19: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

19

enum Frutas {Manzana, Pera, Guinda, Kiwi,};

enum Color {Rojo=10, Verde, Azul};

enum Raza {Pastor, Cooker, Poodle, Setter, Collie};

int main() { Color c=Verde; if (c==Verde)

cout<<"Color VERDE"; return 0;}

Tipos Enumerados

Page 20: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

20

Tipos de DatosESTRUCTURADOS

Page 21: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

21

Un arreglo es un objeto de dato estructurado de carácter homogéneo

Los arreglos pueden ser de una o mas dimensiones

Un Vector es un arreglo unidimensionalint v[10];

int v[10] = {41, 23, 87, 19, -9};

int v[] = {41, 23, 87, 19, -9, 91, 103, 25, 11, 22};

0 1 2 3 4 5 6 7 8 9v: 41 23 87 19 -9 91 103 25 11 22 cout << v[3];

Arreglos

Page 22: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

22

Una Matriz es una arreglo bidimensional

float a[5][3];

int x[5][3] = {{33, 21, 47},

{82, 91, 95},

{50, 72, 45},

{36, 79, 63},

{53, 60, 74}}cout << a[3][2];

33 21 47

82 91 95

50 72 45

36 79 63

53 60 74

0

1 2

0

1

2

3

4

Arreglos

Page 23: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

23

Strings: Vector de caracteres, que termina con el caracter NULO: '\0'

char s[5];

char s1[5] = {'h','o','l','a','\0'};

char s2[5] = "hola";

char s3[] = "hola";

typedef char String[25];

String s;

Strings

Page 24: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

24

Captura de un String Lee del flujo de entrada un string. Deja para la siguiente lectura el '\n' No reconoce el espacio inicial en las entradas

cin >> s;

i = 1;do { cin >> s; cout << i << ": " << s << endl; i++;}while (i<5);

Ingresar:Este es un ejemplo

Strings

Page 25: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

25

Captura de un String Lee del flujo de entrada un string de largo

caracteres La lectura termina

Con la línea ('\n'), si la cantidad de caracteres es menor que largo

Cuando se ha extraído la cantidad largo de caracteres, aunque NO haya terminado la línea

cin.getline(s, largo);

Strings

Page 26: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

26

Captura de un String

i=1;do { cin.getline(s,20); cout << i << ": " << s << endl; i++;}while (i<5);

Strings

Page 27: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

27

Funciones sobre strings

strlen(string); // largo strcpy(destino, origen); // copia strcmp(string1, string2); // compara

0: Si string1 == string2 1: Si string1 > string2 -1: Si string1 < string2

Strings

Page 28: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

28

#include <iostream.h>#include <string.h>int main() { char x[5]; char y[] = "Hola"; strcpy(x,y); cout << "x:" << x << endl; cout << "y:" << y << endl; return 0;}

Strings

Page 29: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

29

#include <iostream.h>#include <string.h>int main() { char *x; char y[] = "Hola"; x = new char[strlen(y)+1]; cin.getline(x, 20); cout << "x:" << x << endl; cout << "y:" << y << endl; return 0;}

Strings

Page 30: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

30

#include <iostream.h>#include <string.h>void Copiar(char a[], char b[]) { strcpy(a, b);}int main() { char *x; char y[] = "Hola"; x = new char[strlen(y)+1]; Copiar(x,y); cout << "x:" << x << endl; cout << "y:" << y << endl; return 0;}

Strings

Page 31: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

31

#include <iostream.h>#include <string.h>void Copiar(char *a, char *b) { strcpy(a, b);}int main() { char *x; char y[] = "Hola"; x=new char[strlen(y)+1]; Copiar(x,y); cout<< "x:" << x << endl; cout<< "y:" << y << endl; return 0;}

Strings

Page 32: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

32

#include <iostream.h>#include <string.h>char *Mayor(char a[], char *b) { if (strcmp(a,b)>0) return a; return b;}int main() { char *x; char y[] = "Hola"; x = new char[strlen(y)+1]; cin.getline(x,20); cout << "El mayor: " << Mayor(x,y); return 0;}

Strings

Page 33: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

33

Constructor de tipos de dato que permite agrupar elementos de diversos tipos de datos como UNA variable

struct {

int RUT;

char nom[10];

float prom;

} Persona;

Persona a;

RUT nom prom

cout << a.prom;

a

Estructuras

Page 34: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

34

struct { int hh; int mm; int ss;} Hora;Hora h, v[10], *p;h.hh = 8;p = &h;v[3].hh = 5;v[7] = *p;cout << p->hh << h.hh << v[7].hh

Estructuras

Page 35: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

35

typedef int Vector[10];Vector v;

typedef float Matriz[5][3];Matriz a;

typedef enum Boolean {FALSE, TRUE};enum Color {Rojo, Verde, Azul, Amarillo}

typedef struct Persona { char paterno[10]; char materno[10]; char nombre[10];};

Definición de nuevos tipos

Page 36: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

36

Vector v; // int v[10];Boolean sw = FALSE;Persona alumno;Numero x;

typedef union Numero { int i; float f;};

Definición de nuevos tipos

Page 37: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

37

OBJETOS CONSTANTES

Page 38: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

38

const int x; // error: x debe ser inicializadax = 7; // error: x no puede ser

// modificada por asignaciónconst int z = 3; cout << z << '\n';

Objetos Constantes

Se definen mediante el prefijo const Estos objetos NO puede ser modificados por

asignación Sólo se permite su inicialización

Page 39: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

39

FUNCIONES

Page 40: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

40

<tipo de retorno> <nombre>(<parámetros>) { <datos locales>

<instrucciones>}

Definición

Las funciones no se pueden anidar Todas las funciones son externas, se pueden

llamar desde cualquier punto del programa

Page 41: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

41

#include <iostream.h>void f1() { cout << "Función sin argumentos \n"; }void f2(void) { cout << “También sin argumentos \n"; }int main() { f1(); f2(); return 0;}

Definición

Page 42: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

42

Si la función retorna un valor, se debe especificar el tipo de dato retornado:

char, double, float También puede retornar un UN PUNTERO. Puede no retornar valores (void). Puede retornar una referencia: (ALIAS)

<tipo> &<nombre>(<parámetros>)

Tipos de retorno

Page 43: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

43

<tipo de retorno> <nombre>(<parámetros>);

Declaración (prototipo)

Se pueden omitir los nombres de los parámetros y dejar solamente los tipos

No es necesario declarar las funciones si se definen antes de usarlas

Page 44: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

44

Una variable que se declara fuera de las funciones es una variable global y puede ser utilizada dentro de todas las funciones del programa

Una variable que se declara dentro de una función es una variable local y solamente puede ser utilizada dentro de dicha función. Al terminar la ejecución de la función desaparece

Variables locales y globales

Page 45: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

45

Parámetros

Parámetros Formales O de definición, son los que aparecen en la

declaración de la función Parámetros Actuales

O de invocación, son los que aparecen en la llamada a la función

Se usan para inicializar los parámetros formales, o recibir valores de los parámetros

formales

Page 46: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

46

Parámetros actuales

Los parámetros actuales pueden ser: Constantes Variables Expresiones

Ejemplo:

total = CalcArea(20, 4);

L = 30;A=12;total = CalcArea(L, A+2);

Page 47: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

47

Modos de parametrización

Parámetros por Valor Al llamar a la función, se copia el valor del

parámetro actual como valor del parámetro formal

El parámetro formal se inicializa con el valor de parámetro actual

La función trabaja con una copia; luego, no modifica el valor de la variable usada como parámetro actualLLAMADA DEFINICIÓN

Ejemplo(a);Ejemplo(a+1);Ejemplo(4);

void Ejemplo(int x)

Page 48: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

48

Modos de parametrización

Parámetros por Referencia Al llamar a la función, se copia la dirección del

parámetro actual como dirección del parámetro formal

El parámetro formal es ALIAS del parámetro actual

La función puede cambiar su valor

LLAMADA DEFINICIÓN

Ejemplo(a); void Ejemplo(int &x)

Page 49: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

49

Ejemplos

void Ejemplo (int a, int &b) { a = 5; b = 8;}

int main( ) { int x = 2, y = 4, &z = x; // z es ALIAS de x Ejemplo(x, y); cout << x << " " << y << " " << z; cout << endl; return 0;}

Page 50: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

50

Ejemplos

int cuadXVal(int a) { return a = a*a; }void cuadXInd(int *b) { *b = (*b) * (*b); }void cuadXRef(int &c) {c = c*c; }

Page 51: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

51

Ejemplos

int main() { int x = 2, y = 3, z = 4; cout << "Por valor : x = " << cuadXVal(x) << '\n'; cuadXInd(&y); cout << "Por indirección : y = " << y << '\n'; cuadXRef(z); cout << "Por referencia : z = " << z << '\n'; return 0;}

Page 52: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

52

Prototipos de funciones

#include <iostream.h>void f1();void f2(void);int main() { f1(); f2(); return 0;}void f1() { cout << "Función sin argumentos \n"; }void f2(void) { cout << "Función también sin argumentos \n"; }

Page 53: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

53

La cláusula inline sugiere al compilador la generación de una copia del código de esa función "in situ" (cuando sea apropiado), a fin de evitar una llamada

Esta sugerencia es generalmente acogida en el caso de funciones pequeñas

Funciones en línea

Page 54: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

54

inline float cubo(float x) {return x*x*x; }int main() { cout << "Ingrese el largo del lado de un cubo: "; float lado; cin >> lado; cout << "Volumen del cubo de lado “ << lado

<< " es " << cubo(lado) << '\n'; return 0;}

Funciones en línea

Page 55: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

55

int *p;p = new int; : : :delete p;

int q = new int(3);float f = new float(2,2); : : :delete q;

Memoria Dinámica

Page 56: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

56

1. int *p, *q;

??

??

p

q

2. p=new int;

??

p

q

?

3. *p=10;

??

p

q

10

4. q=p;

p

q

10

5. *q=85;

p

q

85

Ejemplo ilustrativo

Page 57: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

57

5. *q=85;

p

q

85

6. p new ( int);

p

q

?

85

7. *p= 9;

p

q

9

85

Ejemplo ilustrativo

Page 58: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

58

8. delete q;

p

q85 p

q

9

85

??

??

p

q ??

p

q

9

9. delete q;

Ejemplo ilustrativo

Page 59: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

59

typedef struct { int num; float saldo;} Cuenta;

 Cuenta *c; c = new Cuenta;

Memoria Dinámica

Page 60: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

60

int *v;

v = new int [100]; // crea un arreglo dinámico de 100 enteros

delete [] v; // libera la memoria ocupada por v

Memoria Dinámica

Page 61: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

61

Resolución de alcance

float x = 1.23;int main() { int x = 7 cout << "x local = "<< x <<endl; cout << "x global = " << ::x << endl; return 0;}

Operador ::

Page 62: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

62

Es posible definir funciones con el mismo nombre, las cuales se pueden diferenciar en:

El tipo del valor retornado

La lista de parámetros Cantidad de parámetros

Tipo de los parámetros

Sobrecarga de funciones

Page 63: INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos

63

float cuadrado(int k) { return k*k; }float cuadrado(float x) { return x*x; }int main() { int i = 5; float x = 3.3; cout << i << " al cuadrado = " << cuadrado(i); cout << endl; cout << x << " al cuadrado = " << cuadrado(x); return 0;}

Sobrecarga de funciones