SlideShare una empresa de Scribd logo
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 declaración:  class clase_derivada: public|protected|private clase_base {   // Declaración de datos y funciones  miembro } HERENCIA
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]; }
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
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”; }
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 ];} }
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 } }
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.
#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  
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; }
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; }
-> 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
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
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;
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
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;
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
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->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
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
[email_address] [email_address] Telf: 2570275  Ruth Reátegui

Más contenido relacionado

DOC
Que es una funcion
PPT
Kruskal
PPT
Kruskal
PPTX
la estruturas de la programacion basicas de las POO
PDF
Tipos basicos de java
PPT
Funcionesphpmysql
PDF
Java
PPT
Estructuras en c++
Que es una funcion
Kruskal
Kruskal
la estruturas de la programacion basicas de las POO
Tipos basicos de java
Funcionesphpmysql
Java
Estructuras en c++

La actualidad más candente (18)

PDF
Informe chabot
DOCX
Trabajo array
PPTX
Presentación1
PPT
Estructuras en c++
PDF
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
PPT
Teconologia en informatica
PPT
Tema4
PDF
Guia 12 js
PPT
Mateatocha5 i
PDF
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
PDF
Estructuras de datos en Introducción a la Programación
TXT
Sofware de matriz
PDF
Intro aplicaciones web con php
PDF
Semana 1 Estructuras de Control en Java
DOC
GuíA De PráCtica 2
DOCX
ESTRUCTURAS ANIDADAS
PDF
Unidad II practica II
Informe chabot
Trabajo array
Presentación1
Estructuras en c++
Semana 4 Estructuras de datos(Tuplas, Conjuntos y Diccionarios)
Teconologia en informatica
Tema4
Guia 12 js
Mateatocha5 i
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Estructuras de datos en Introducción a la Programación
Sofware de matriz
Intro aplicaciones web con php
Semana 1 Estructuras de Control en Java
GuíA De PráCtica 2
ESTRUCTURAS ANIDADAS
Unidad II practica II
Publicidad

Destacado (20)

PPT
Bits Y Bytes
 
DOCX
conceptos de Punteros y Nodos
PPTX
La pascalina
PPTX
Dispositivos perifericos
PDF
Manual de lenguaje C++
ODP
Extendiendo aplicaciones en C y C++ con Python
PPTX
C# desde cero sesion 2
PPTX
Estructua Basica Lenguaje C++
PDF
Clase 5
PPT
Repaso del lenguaje C++
PPT
Lenguaje c++
PDF
Tecnicas avanzadas de programacion en lenguaje c++ (manual)
PPT
Presentación de C++
PPTX
Code blocks & lenguaje c++
PPT
Lenguaje de programacion c++ basico 2da parte instalación del compilador
PPTX
Lenguaje c++
PPT
Lenguajec(1)
PPT
Estructura de lenguaje C++
PPTX
Diagrama de flujo
PPTX
c++ introduccion
Bits Y Bytes
 
conceptos de Punteros y Nodos
La pascalina
Dispositivos perifericos
Manual de lenguaje C++
Extendiendo aplicaciones en C y C++ con Python
C# desde cero sesion 2
Estructua Basica Lenguaje C++
Clase 5
Repaso del lenguaje C++
Lenguaje c++
Tecnicas avanzadas de programacion en lenguaje c++ (manual)
Presentación de C++
Code blocks & lenguaje c++
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje c++
Lenguajec(1)
Estructura de lenguaje C++
Diagrama de flujo
c++ introduccion
Publicidad

Similar a Tutoria Lenguaje C++ (20)

PPT
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
PPSX
Unidad%2 bxii estructuras
ODP
Charla Mysql
PPTX
Estructuras 1
DOCX
NOTACIÓN POSTFIJA E INFIJA - JAVA
PPT
Computacion estructuras
DOCX
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
PDF
8 Listas Encadenadas 2a Parte
 
DOCX
PPT
Poo 2009 u2_introd_a_la_poo_2
PDF
Informe tecnico u 3-victor uex
PPTX
Estructuras y clases
PPT
Estructuras punteros
PDF
Informe tecnico u 4-victor uex
DOCX
Tarea 4.docx siguientes conceptos de mys
PDF
Informe tecnico victor_uex
PDF
Informe estructuras lineales
PDF
Informe estructuras lineales
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
Unidad%2 bxii estructuras
Charla Mysql
Estructuras 1
NOTACIÓN POSTFIJA E INFIJA - JAVA
Computacion estructuras
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
8 Listas Encadenadas 2a Parte
 
Poo 2009 u2_introd_a_la_poo_2
Informe tecnico u 3-victor uex
Estructuras y clases
Estructuras punteros
Informe tecnico u 4-victor uex
Tarea 4.docx siguientes conceptos de mys
Informe tecnico victor_uex
Informe estructuras lineales
Informe estructuras lineales

Último (20)

PDF
Esta es una presentacion ejecutiva del cual pueden concluir
PPT
Introducción a la contabilidad de costos.ppt
PDF
Estructura organizativa de ka empresa.pdf
PPTX
DE LA ATENCIÓN A LA SATISFACCIÓN DEL CLIENTE.pptx
PDF
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
PPTX
ABDOMEN ABIERWWDEDEFDWDXEWdedwqddeqwdTO.pptx
PDF
Casos prácticos costos de manufactura.pdf
PPT
Diseño de proyecto en temas educativos en todos los entornos
PPTX
Presentacion_charlas_Etapa_Productiva_aprendices.pptx
PDF
CATALOGO PRODUCTOS TNCC – EDICIÓN 202506
PPTX
LA INTELIGENCIA ARTIFICIAL EN ESTE MUNDO
PPT
Administración Financiera diapositivas.ppt
PDF
Introducción iso 9001 curso UNIDAD - 3.pdf
PDF
Clase 15 - Normas de Aseguramiento.pptx.pdf
PPTX
Curso-de-Aire-Acondicionado-y-Refrigeracion-Electronica-para-Ingenio-Azucarer...
PPTX
clase Contabilidad 2 [Autoguardado].pptx
PPTX
CGI SESIÓN #2.pptx Competencias Gerenciales
PDF
MODELO INNOVACION EN NEGOCIOS , METODOLOGIA APLICADA.pdf
PPTX
TRABAJO FINAL-EMPRESA CARNES FRIAS CON CORRECCIONES.pptx
PPTX
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
Esta es una presentacion ejecutiva del cual pueden concluir
Introducción a la contabilidad de costos.ppt
Estructura organizativa de ka empresa.pdf
DE LA ATENCIÓN A LA SATISFACCIÓN DEL CLIENTE.pptx
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
ABDOMEN ABIERWWDEDEFDWDXEWdedwqddeqwdTO.pptx
Casos prácticos costos de manufactura.pdf
Diseño de proyecto en temas educativos en todos los entornos
Presentacion_charlas_Etapa_Productiva_aprendices.pptx
CATALOGO PRODUCTOS TNCC – EDICIÓN 202506
LA INTELIGENCIA ARTIFICIAL EN ESTE MUNDO
Administración Financiera diapositivas.ppt
Introducción iso 9001 curso UNIDAD - 3.pdf
Clase 15 - Normas de Aseguramiento.pptx.pdf
Curso-de-Aire-Acondicionado-y-Refrigeracion-Electronica-para-Ingenio-Azucarer...
clase Contabilidad 2 [Autoguardado].pptx
CGI SESIÓN #2.pptx Competencias Gerenciales
MODELO INNOVACION EN NEGOCIOS , METODOLOGIA APLICADA.pdf
TRABAJO FINAL-EMPRESA CARNES FRIAS CON CORRECCIONES.pptx
Presentación Plan de Negocio Moderno Morado y Blanco.pptx

Tutoria Lenguaje C++

  • 1. TUTORIA VIRTUAL LENGUAJE DE ALTO NIVEL
  • 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. 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. 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. 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. 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. 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. 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. #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. 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. 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. -> 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. 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. 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. 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. 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. 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. Eliminar Cabeza void eliminarnodo (persona * cabeza) { persona * temp; temp = cabeza; cabeza = cabeza->enlace; delete temp; }
  • 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. 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. [email_address] [email_address] Telf: 2570275 Ruth Reátegui