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

65
INTRODUCCIÓN AL LENGUAJE C++

Upload: estrella-gordillo

Post on 29-Jan-2016

234 views

Category:

Documents


1 download

TRANSCRIPT

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

INTRODUCCIÓN AL LENGUAJE C++

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

2

Entrada y Salida

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 incluída en el programa.

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

3

Salida: cout

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<<700int i=5, j=10,m=100;cout<< "El valor de i es:"<<i << j << m;

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

4

Salida: Formato

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) Cantidad de 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)

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

5

Entrada: cin

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 teclado.

int numero1, numero2;cin>>numero1;cin>>numero2;

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

6

#include <iostream.h>void 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 \n "; else if (miEdad > suEdad) cout << "Mi amigo es menor que yo \n "; else cout << "Mi amigo y yo tenemos la misma edad \n ";}

Ejercicio:Ingresar 2 edades y determinar quién es mayor

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

7

Tipos de DatosELEMENTALES

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

8

Tipos de Datos: Numéricos

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

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

9

Punteros

Una variable que puede almacenar una dirección de memoria se llama puntero.

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

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

10

Declaración de punteros

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.

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

11Otras operaciones con punteros

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

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

12

Mostrar una dirección

Es posible mostrar el una dirección como valor de una variable de tipo puntero, o la dirección de cualquier variable, en la pantalla utilizando un cout.

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

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

13

Ejemplo Ilustrativo

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

??

??

p

q

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

??

p

q

8

4. q=p;

p

q

8

5. *q=85;

p

q

85

??

p

q

5a:

5a:

a:

a: a:

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

14

Ejemplo Ilustrativo

6. a=33;

p

q

33

. 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

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

15

Ejemplo 1:

void 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;

}

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

16

void main(){

int *p, *q, x, y;

p = &x;*p = 14;q = p;cout << *p << " " << *q << endl;q = NULL;cout << x << " “ << y << endl;

}

Ejemplo 2:

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

17

void 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;

}

Ejemplo 3:

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

18

void 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";

}

Ejemplo 4:

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

19

Tipos enumerados

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

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

void main()

{Color c=Verde;

if (c==Verde)

cout<<"Color VERDE";

}

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

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

20

Tipos de DatosESTRUCTURADOS

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

21

Tipos de Datos: Arreglos

Permite definir variables estructuradas homogéneas.

Vectores o Arreglos Unidimensionalesint v[10];

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

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

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

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

22

Tipos de Datos: Matrices

Matrices o Arreglos Bidimensionales

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

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

23

Tipos de Datos: Strings

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[5]

String s;

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

24

Tipos de Datos: Strings

La lectura de un String

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

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

Ingresar:Este es un ejemplo

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

25

Tipos de Datos: Strings

La lectura de un String

cin.getline(s, largo);

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 extraído la cantidad largo de caracteres, aunque NO haya terminado la línea.

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

26

Tipos de Datos: Strings

La lectura de un String

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

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

27

Tipos de Datos: Strings

Funciones de strings

strlen(string);strcpy(destino,origen);strcmp(string1, string2);

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

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

28

Tipos de Datos: Strings

#include <iostream.h>#include <string.h>

void main(){char x[5]; char y[]="Hola"; strcpy(x,y);

cout<<"x:"<<x<<endl; cout<<"y:"<<y<<endl;

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

29

Tipos de Datos: Strings

#include <iostream.h>#include <string.h>

void main(){char *x; char y[]="Hola"; x=new char[strlen(y)+1];

cin.getline(x,20);

cout<<"x:"<<x<<endl; cout<<"y:"<<y<<endl; }

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

30

Tipos de Datos: Strings

#include <iostream.h>#include <string.h>

void Copiar(char a[], char b[]){strcpy(a,b);}

void main(){char *x; char y[]="Hola"; x=new char[strlen(y)+1]; Copiar(x,y); cout<<"x:"<<x<<endl; cout<<"y:"<<y<<endl;

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

31

Tipos de Datos: Strings

#include <iostream.h>#include <string.h>

void Copiar(char *a, char *b){strcpy(a,b);}

void main(){char *x; char y[]="Hola"; x=new char[strlen(y)+1]; Copiar(x,y); cout<<"x:"<<x<<endl; cout<<"y:"<<y<<endl;

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

32

Tipos de Datos: Strings

#include <iostream.h>#include <string.h>

char *Mayor(char a[], char *b){if (strcmp(a,b)>0) return a; return b;}

void main(){char *x; char y[]="Hola"; x=new char[strlen(y)+1]; cin.getline(x,20); cout<<"El mayor: "<<Mayor(x,y);}

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

33

Tipos de Datos: Estructuras

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:

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

34

Tipos de Datos: Estructuras

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).hh;cout <<p->hh << h.hh<<v[7].hh

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

35

Nuevos Tipos de Datos

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];};

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

36

Nuevos Tipos de Datos

Vector v; // int v[10];

Boolean sw = FALSE;

Persona alumno;

Numero x;

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

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

37

OBJETOS CONSTANTES

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

38

Objetos Constantes

Se definen mediante el prefijo const. Estos objetos NO puede ser

modificada por asignación. Sólo se permite su inicialización.

const int x; // error: x debe ser inicializada

x = 7; // error: x no puede ser

modificada por asignación

const int z = 3;

cout << z << '\n';

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

39

FUNCIONES

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

40

Tipo de retorno Nombre ( Parámetros ){ declaraciones 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 Entrada y Salida  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams).  Estos

41

Prototipo de funciones

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

void f2(void){cout << "Función también sin argumentos \n"; }

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

42

Si la función no devuelve un valor int, se debe especificar el tipo de dato devuelto:

char, double, float

También puede retornar un UN PUNTERO.

Puede no retornar valores (void).

Puede retornar una referencia: (ALIAS)

Tipos de retorno

<tipo>& Nombre(parámetros)

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

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 las definimos antes de usarlas.

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

44

Variables locales y globales

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.

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

45

Parámetros

Parámetros Formales

Son los que se escriben al definir y/o declarar la función.

Parámetros Actuales

Son los que se escriben al llamar la función. Argumentos.

Los parámeros actuales se usan para dar valor inicial a los parámetros formales o para recibir valores desde las rutinas.

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

46

Parámetros actuales

Los parámetros actuales pueden ser:ValoresVariablesExpresiones.

Ejemplo:total = CalcArea(20, 4);L = 30;A=12;total = CalcArea(L,A+2);

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

47

Formas de ParametrizaciónParámetros por Valor

Al llamar a la función se copia valor del parámetro actual en el parámetro formal.

El parámetro formal se inicializa con el valor de parámetro actual. La función trabaja con una copia, por lo tanto:

No modifica el valor de la variable o parámetro actual.

LLAMADA DEFINICIÓN

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

void Ejemplo(int x)

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

48

Parámetros por Referencia

Se pasa la dirección del parámetro actual al parámetro formal

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

La función puede cambiar su valor.

LLAMADA DEFINICIÓN

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

Formas de Parametrización

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

49

Ejemplo: Por referencia

void Ejemplo(int a, int &b);

void main( ){int x = 2, y = 4; Ejemplo(x, y); cout<<x<< “ “<<y<<endl;}

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

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

50

Ejemplo:

Escriba una función que calcule el cuadrado y el cubo de un número entero.

Éstos resultados se DEBEN retornar como parámetros.

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

51

Ejemplos: Prototipos

#include <iostream.h>

int cuadPorVal(int);

void cuadPorInd(int *);

void cuadPorRef(int &);

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

52

Ejemplos

void main(){ int x = 2, y = 3, z = 4; cout << "Por valor : x = " <<

cuadPorVal(x) << '\n';

cuadPorInd(&y); cout << "Por indirección : y = " << y << '\n'; cuadPorRef(z); cout << "Por referencia : z = " << z << '\n';}

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

53

Ejemplos

int cuadPorVal(int a){return a = a*a; }

void cuadPorInd(int *b){*b = (*b) * (*b); }

void cuadPorRef(int &c){c = c*c; }

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

54

Prototipos de funciones

#include <iostream.h>

void f1();

void f2(void);

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 55: INTRODUCCIÓN AL LENGUAJE C++. 2 Entrada y Salida  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams).  Estos

55

Funciones en línea

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.

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

56

Funciones inline

inline float cubo(float x)

{ return x*x*x; }

void 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';

}

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

57

Memoria Dinámica

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

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

 

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

58

Ejemplo Ilustrativo

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

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

59

Ejemplo Ilustrativo

5. *q=85;

p

q

85

. 6. p new ( int);

p

q

?

85

. 7. *p= 9;

p

q

9

85

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

60

Ejemplo Ilustrativo

8. delete q;

p

q

85 p

q

9

85

??

??

p

q ??

p

q

9

9. delete q;

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

61

Memoria Dinámica

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

 Cuenta *c; c=new Cuenta;

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

62

Memoria Dinámica

 

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

delete [] v; // libera la memoria dinámica ocupada por v

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

63

Resolución de alcance

float x = 1.23;

void main(){int x = 7 cout << "x local = "<< x <<endl; cout << "x global = " << ::x << endl;}

Operador ::

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

64

Sobrecarga de funciones

Funciones con igual nombre pero se diferencian, a lo menos, en uno de los siguientes puntos:

El tipo de dato de la funciónLa lista de parámetros

Cantidad de parámetros Tipo de datos de los parámetros

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

65

float cuadrado(int k){ return k*k; }

float cuadrado(float x){ return x*x; }

void main()

{cout << "El cuadrado del entero 7 es " << cuadrado(7);

cout << "El cuadrado del real 1.2 es " << cuadrado(1.2);

}

Sobrecarga de funciones