Your SlideShare is downloading. ×
TUTORIA VIRTUAL  LENGUAJE DE ALTO NIVEL
El proceso por el cuál se crea una nueva clase llamada clase derivada a partir de una clase llamada clase base. Sintaxis d...
class persona { public: persona(); void leer_info(); void presentar_info(); void  mensaje (); private: char nombre [50]; c...
TIPOS DE DERIVACIÓN Protected Protected  Protected Public  Inaccesible  Private  Protected Private  Protected  Private  Pu...
class persona{ public: persona(); void leer_info(); protectec:  char nombre [50]; private: int ciudad [10]: } class alumno...
REDEFINIR FUNCIONES MIEMBRO Si se declara una función miembro en la clase derivada con el mismo nombre y firma que en la c...
CONSTRUTORES Y DESTRUCTORES Los constructores y destructores de la clase base no se heredan, deben escribirse en la clase ...
APUNTADORES Un apuntador es una variable que almacena la dirección de memoria. * sirve para declarar una variable apuntado...
#include <iostream.h> void main() { int i = 45; int * puntero; cout << i<<endl; cout << &i<<endl;  puntero = &i;  cout << ...
ESTRUCTURAS  Es un grupo de datos que pueden ser de distinto tipo de dato. Struct nombre { Declaración de miembros; } stru...
APUNTADOR A UNA ESTRUCTURA Operador miembro apuntador  -> se lo utiliza para acceder indirectamente a los miembros de una ...
-> LISTAS ENCADENADAS Es una lista de nodos en la cual por cada nodo se guardan los campos definidos en una estructura de ...
CREAR PRIMER NODO Es siempre necesario guardar la dirección de memoria del primer nodo, para lo cual se crea un apuntador ...
AGREGAR NODOS A UNA LISTA Para agregar un nodo al final de la lista es necesario trabajar con una variable cola para que g...
void insertar (char nombre [ ], double salario){ if (cabeza == NULL){ cabeza = new persona; cola = cabeza;} else { cola->e...
RECORRIDO DE UNA LISTA Para recorrer una lista es necesario iniciar en la cabeza de la lista y avanzar hasta los siguiente...
ELIMINACION DE NODOS Eliminar Cabeza persona * temp = cabeza; cabeza =  cabeza->enlace 1001  1002  1003  1004 --> --> --> ...
Eliminar Cabeza void eliminarnodo (persona * cabeza) { persona * temp; temp = cabeza; cabeza = cabeza->enlace; delete temp...
Eliminación nodo diferente de cabeza void eliminarnodo(persona * pos){ persona * aux = pos->enlace; pos->enlace = pos->enl...
void eliminarnodo(int n){ persona * pos = cabeza; while (i<n) || pos->enlace ==NULL){ pos = pos->enlace; i++; } if (pos== ...
[email_address] [email_address] Telf: 2570275  Ruth Reátegui
Upcoming SlideShare
Loading in...5
×

Tutoria Lenguaje C++

6,636

Published on

Breve descripción del lenguaje C++

Published in: Business, Travel
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,636
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Transcript of "Tutoria Lenguaje C++"

  1. 1. TUTORIA VIRTUAL LENGUAJE DE ALTO NIVEL
  2. 2. El proceso por el cuál se crea una nueva clase llamada clase derivada a partir de una clase llamada clase base. Sintaxis declaración: class clase_derivada: public|protected|private clase_base { // Declaración de datos y funciones miembro } HERENCIA
  3. 3. class persona { public: persona(); void leer_info(); void presentar_info(); void mensaje (); private: char nombre [50]; char ciudad [50]; } class alumno: public persona { public: alumno(); void leer_info(); double promedio(); void mensaje (char [] ); private: int notas[10]; }
  4. 4. TIPOS DE DERIVACIÓN Protected Protected Protected Public Inaccesible Private Protected Private Protected Private Public Inaccesible Private Private Protected Protected Public Public Inaccesible Private Public Acceso Clase Derivada Acceso Clase Base Tipo Derivación
  5. 5. class persona{ public: persona(); void leer_info(); protectec: char nombre [50]; private: int ciudad [10]: } class alumno: public persona { } class alumno: protected persona { } class alumno: private persona { } void main() { alumno d; d.leer_info(); d.nombre = “Juan”; d.ciudad = “Loja”; }
  6. 6. REDEFINIR FUNCIONES MIEMBRO Si se declara una función miembro en la clase derivada con el mismo nombre y firma que en la clase base, es necesario volver a redefinir esta función. void persona::leer_info() { cout <<”ingrese cedula” << endl; cint >> cedula; cout <<”ingrese nombre” << endl; cint >> nombre; cout <<”ingrese ciudad” << endl; cint >> ciudad; } void alumno::leer_info() { persona::leer_info(); int i; for (i=0; i<10; i++){ cout <<”ingrese notas”; cint >> notas[ i ];} }
  7. 7. CONSTRUTORES Y DESTRUCTORES Los constructores y destructores de la clase base no se heredan, deben escribirse en la clase derivada. persona::persona() { int i; for (i=0, i< 10, i++) { cedula[i] = 0 } } alumno::alumno(): persona::persona() { int i; for (i=0, i< 10, i++) { notas[i] = 0 } }
  8. 8. APUNTADORES Un apuntador es una variable que almacena la dirección de memoria. * sirve para declarar una variable apuntador. int *puntero; char *puntero1, *puntero2; & obtener la dirección de memoria. * permite acceder indirectamente al valor de la variable cuya dirección se almacena en un puntero.
  9. 9. #include <iostream.h> void main() { int i = 45; int * puntero; cout << i<<endl; cout << &i<<endl; puntero = &i; cout << puntero<<endl; cout<< &puntero<< endl; cout<< *puntero<< endl;} 2004 2003 2002 1001 2002 1004 1003 1002 45 2001 puntero  i 
  10. 10. ESTRUCTURAS Es un grupo de datos que pueden ser de distinto tipo de dato. Struct nombre { Declaración de miembros; } struct persona { char nombre[50]; char ciudad[50]; double salario; } void main() { persona pers1; cout << “ Ingrese Nombre: “; cin >> pers1.nombre; cout << pers1.nombre <<endl; }
  11. 11. APUNTADOR A UNA ESTRUCTURA Operador miembro apuntador -> se lo utiliza para acceder indirectamente a los miembros de una estructura. struct persona { char nombre[50]; char ciudad [50]; double salario; } void main() { persona pers1; persona *ptr_pers1; ptr_pers1 = &pers1; cout << “ Ingrese Nombre: “<<endl; cin >> pers1.nombre; cout << pers1.nombre <<endl; cout << ptr_pers1->nombre <<endl; }
  12. 12. -> LISTAS ENCADENADAS Es una lista de nodos en la cual por cada nodo se guardan los campos definidos en una estructura de datos, además debe el nodo tener un campo que apunte al nodo siguiente. struct persona { char nombre[50]; double salario; persona * enlace; } enlace salario nombre enlace salario nombre
  13. 13. CREAR PRIMER NODO Es siempre necesario guardar la dirección de memoria del primer nodo, para lo cual se crea un apuntador llamado cabeza o head. persona *cabeza; cabeza = new persona; strcpy(cabeza->nombre,“Juan”); cabeza ->salario = 565; cabeza->enlace = NULL; NULL 565 Juan
  14. 14. AGREGAR NODOS A UNA LISTA Para agregar un nodo al final de la lista es necesario trabajar con una variable cola para que guarde la dirección del último nodo de la lista. Si deseamos agregar un nuevo nodo, lo crearemos a partir del último nodo a cola cola->enlace = new persona;
  15. 15. void insertar (char nombre [ ], double salario){ if (cabeza == NULL){ cabeza = new persona; cola = cabeza;} else { cola->enlace = new persona; cola = cola->enlace;} strcpy(cola->nombre, nombre); cola->salario = salario; cola->enlace = NULL; } 1001 1002 1003 --> --> 1003 600 Ana NULL 480 Teresa 1002 565 Juan
  16. 16. RECORRIDO DE UNA LISTA Para recorrer una lista es necesario iniciar en la cabeza de la lista y avanzar hasta los siguientes nodos. presentar lista() { persona* aux = cabeza; while (aux != NULL){ aux = aux -> enlace; } } persona * aux; aux = cabeza; aux = aux ->enlace;
  17. 17. ELIMINACION DE NODOS Eliminar Cabeza persona * temp = cabeza; cabeza = cabeza->enlace 1001 1002 1003 1004 --> --> --> 1003 600 Ana 1004 480 Teresa 1002 565 Juan NULL 450 Pablo
  18. 18. Eliminar Cabeza void eliminarnodo (persona * cabeza) { persona * temp; temp = cabeza; cabeza = cabeza->enlace; delete temp; }
  19. 19. Eliminación nodo diferente de cabeza void eliminarnodo(persona * pos){ persona * aux = pos->enlace; pos->enlace = pos->enlace->enlace; delete aux; } Función que recibe un nodo anterior al eliminar 1001 1002 1003 1004 --> --> --> Nodo a eliminar 1003 600 Ana 1004 480 Teresa 1002 565 Juan NULL 450 Pablo
  20. 20. void eliminarnodo(int n){ persona * pos = cabeza; while (i<n) || pos->enlace ==NULL){ pos = pos->enlace; i++; } if (pos== NULL) {cout <<”error” exit(0) } persona * aux = pos->enlace; pos->enlace = pos->enlace->enlace; delete aux; } Función que recibe la posición de nodo a eliminar
  21. 21. [email_address] [email_address] Telf: 2570275 Ruth Reátegui

×