Documentos de Académico
Documentos de Profesional
Documentos de Cultura
01 Introduccion A C++
01 Introduccion A C++
Qu es C++
y C++ es un lenguaje de programacin orientado a objetos
que toma la base del lenguaje C y le agrega la capacidad de abstraccin. y C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. y Para programar C++ se necesita un compilador, en nuestro caso utilizaremos DevC++.
Tipos de datos
Los tipos de datos mas comunes son: y void y char y int y float y double C++ incorpora dos tipos de datos importante. y string y bool
4 Ing. Ronald Melndez.
#include <iostream.h> #include <stdlib.h> void main() /* Este programa te dice el mayor de 10 nmeros */ { int n,a,nmay; a=0; n=0; nmay=0; for (a=1; a!=11; a++) { cout<<"Introduce un numero ("<<a<<"): "; cin>>n; if (a==1) nmay=n; //S es la primer vuelta, entonces por default, el primer numero se considera como el mayor if (n>nmay) nmay=n; } cout<<"El numero mayor es: "<<nmay<<endl; system("PAUSE"); }
sucesos. y Se produce un flujo de mensajes entre los objetos. y Se producen cambios en el estado de un objeto. y Ejemplo:
Datos Miembros Titulo Autor Precio Funciones Miembros LeerDatos() ImprimirDatos() Libro.LeerDatos() //envio de mensaje
6 Ing. Ronald Melndez.
manipularlo. Mensaje: es el llamado a un mtodo para modificar el estado del objeto. Mtodo: es la implementacin de la funcin de una clase. Clase: Describe los mtodos y atributos que definen las caractersticas comunes a todos los objetos de esa clase. Subclase: es una clase que hereda los mtodos y atributos de una clase padre.
Importancia de la POO
y Uniformidad.Ya que la representacin de los objetos lleva implica tanto el anlisis y
como el diseo y la codificacin de los mismos. Comprensin. Tanto los datos que componen los objetos, como los procedimientos que los manipulan, estn agrupados en clases, que se corresponden con las estructuras de informacin que el programa trata. Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedar reflejado automticamente en cualquier lugar donde estos datos aparezcan. Estabilidad. Dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo. Reusabilidad. La nocin de objeto permite que programas que traten las mismas estructuras de informacin reutilicen las definiciones de objetos empleadas en otros programas e incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinacin de objetos ya definidos donde estos estn relacionados de una manera particular.
Clases
C++ utiliza especificadores de acceso para permitir controlar a una clase el acceso a las variables de datos de esa clase.
y public: permite el acceso tanto fuera como dentro de la clase. y protected: son nicamente accesibles por funciones miembro
Miremos el siguiente programa de ejemplo. Se compone de tres partes: la primera una declaracin de una clase llamada Empleado: class Empleado { private: char* m_nombre; char* m_departamento; char* m_posicion; long m_salario; public: void ImprimirInfo(); void SetNombre( char* nombre ) { m_nombre = nombre } void SetDepartamento( char * departamento) { m_departamento = departamento } void SetPosicion ( char* posicion ) { m_posicion = posicion } void SetSalario ( long salario ) { m_salario = salario } const char* GetNombre( ){ return m_nombre } const char* GetDepartamento( ){ return m_departamento } const char* GetPosicion( ){ return m_posicion } const char* GetSalario( ){ return m_salario } };
10 Ing. Ronald Melndez.
La definicin de la funcin PrintInfo puede quedar as: void Empleado::ImprimirInfo( ) { cout << "Nombre: " << m_nombre << '\n'; cout << "Departamento: " << m_departamento << '\n'; cout << "Puesto: " << m_posicion << '\n'; cout << "Salario: " << m_salario << '\n'; } La tercera parte es la funcin main. Veamos como podra ser: void main() { //creacion de un objeto de la clase Empleado Empleado empleado12; //asignacion de valores a las variables miembro empleado12.SetNombre("Jose"); empleado12.SetDepartamento("Sistemas"); empleado12.SetPosicion("Programador"); empleado12.SetSalario(3000000); //impresion de los datos empleado12.ImprimirInfo();
}
11
Clases continuacin
Las definiciones de los mtodos de una clase se hacen fuera de la clase utilizando el operador de mbito :: y Si tenemos un mtodo void setNombre(string) dentro de la clase profesor, la definicin sera fuera de la clase misma. y Sintaxis: class Profesor { private: string nombre; public: void setNombre(string); }; //definicin void Profesor::setNombre(string nombre){ this->nombre=nombre; }
y
12
Observemos un ejemplo que implementa los mtodos de la clase Profesor: #include <iostream> #include <stdlib.h> #include <string.h> using namespace std; class Profesor{ int id; string nombre; public: Profesor(); ~Profesor(); //sets y gets void setId(int ); void setNombre(string ); void setDireccion(string ); void setTelefono(string ); string getTelefono(); };
13 Ing. Ronald Melndez.
string direccion;
string telefono;
//definiciones de los metodos void Profesor::setId(int id){ this->id=id; } int Profesor::getId(){ return id; } void Profesor::setNombre(string nombre){ this->nombre=nombre;} string Profesor::getNombre(){ return nombre;} void Profesor::setDireccion(string direccion){ this->direccion=direccion;} string Profesor::getDireccion(){ return direccion;} void Profesor::setTelefono(string telefono){ this->telefono=telefono;} string Profesor::getTelefono(){ return telefono; }
14 Ing. Ronald Melndez.
int main(int argc, char *argv[]) { string nom; int id; string dir; string tel;
//Salidas de datos cout<<"Hola profesor, su nombre es: "<<nom<<\nSu direccion es: "<<dir<<"\n"; cout<<"Su telefono es: "<<tel<<\nSu edad ID es: "<<id<<"\n"<<endl; system("PAUSE"); return 0; }
15