domingo, 29 de junio de 2008

programacion en c++

¿QUE ES LA PROGRAMACION ORIENTADA A OBJETOS?
En la programacion estructurada todos los programas tienen las estructuras
secuencial, repetitiva o condicional.Tambien se utilizan los TAD (Tipos Abstractos de
Datos) para por ejemplo una pila o un arbol.
typdef struct{
int x,y;
int color;
}punto;
struct punto a,b;
luego se implementan las funciones de este TAD (pila_vacia, pila_llena).
En C++ se definen los TAD y las funciones o procedimientos y datos dentro de un
mismo conjunto llamado class (clase).En el ejemplo, el typedef struct punto seria el
equivalente en C de la class de C++ y las variables a y b de los objetos en C++
CLASES ( CLASS )
Antes de poder definir un objeto debemos definir la clase a la que pertenece ( igual
que en el ejemplo anterior debemos definir antes la estructura punto para luego
poder definir las variables a y b ). La forma general de describir una clase seria mas
o menos:
class nombre_clase {
datos y funciones privados;
public:
datos y funciones publicos;
funcion constructora;
funcion destructora;
};
Los datos y funciones privados son los que no se puede acceder a ellas desde las
funciones que son miembros de la clase ( que estan definidas en ella ), se
comportan igual que las variables definidas localmente en una funcion en C normal.
En cambio, los datos y las funciones publicas son accesibles por todas las funciones
http://www.cybercursos.net
Página 2
del programa ( igual que si estuviesen definidas las varibles globalmente en C
normal ).
Por defecto, en una clase se define todos los datos y funciones privados, a menos
de que le especifiquemos las que son publicas con la instruccion public.
Para saber si una funcion debe ser definida publica o privada, debemos ver si el
resto del programa necesita “conocer como funciona” dicha funcion. Si la respuesta
es “si” entonces la funcion debe ser publica, en caso contrario debe ser privada.
Como despues de leer este rollo no te habras enterado ( con esta explicacion no me
extraña ), un ejemplo:
-Vamos a crear la clase CRONOMETRO:
class CRONOMETRO{
struct time tm; // Variable que coge la hora del sistema
int andando;
void dif_tm(time tr, time ts, time *dif);
public:
void Arranca(void);
void Muestra(void);
void Para(void);
};
CRONOMETRO p; (p sera un objeto de la clase cronometro);
La funcion dif_tm es privada porque al resto del programa no le interesa acceder a
ella, en cambio es las funciones Arranca, Muestra y Para si pueden acceder a ella
porque necesitan saber la diferencia entre dos tiempos ( sobre todo la funcion
Muestra, que es la que muestra dicha diferencia). Para llamar a una funcion de la
clase desde una parte del programa que no pertenece a dicha clase, se utiliza
nombre_objeto.funcion;
FORMATOS DE CIN Y COUT
En C++ se empieza a utilizar el concepto de fujos de E/S y no son mas que una
clase (son dos clases: CIN y COUT). Las salidas con formatos de COUT:
cout <dec = %d (enteros)
hex = hexadecimal
oct = octal
endl = "\n" (en CIN y COUT se puede seguir poniendo "\n")
http://www.cybercursos.net
Página 3
ends = '\0' (inserta el fin de cadena, un NULL, no el caracter cero)
setw (num) fija la anchura de un campo en n bytes;
cout<setprecision(n) = fija el numero de decimales que queremos (n).
todas estas cosas estan en la libreria
*Sacar un numero en tres formatos: hexadecimal, octal y decimal:
#include
#include
int num;
cin<cout<<" el numero decimal es: "<cout<<"el numero octal es: "<cout<<" el numero decimal es: "<
si desean conocer mas ver este vinculo: http://ctc.aspira.org/PDF%20files/cplus.pdf

No hay comentarios: