lunes, 5 de noviembre de 2012

C++ Clases

En programación orientada a objetos, las clases se utilizan como plantilla para construir objetos de ese tipo.
Poo : encapsula datos y funciones en estructuras llamadas clases, para modelar el mundo real.
La clase (TCoordenada) se puede instanciar como:
    • objeto :   TCoordenada objetoP1;
    • array :       TCoordenada arrayP2[10];
    • puntero :  TCoordenada *ptrP3 = &objetoP1;
    • referencia : TCoordenada &refP4 = objetoP1;

Ejemplo de definición de una clase, funciones inline para el input, funciones de parametro cero para el output y funciones sobrecarga para la impresión de resultados :

/* 
* defclases.cpp
* Definición y usos de clases 
* by Oscar Romero
* compilado : g++ defclasses.cpp -o defclasses
*/

#include <iostream> //Añade encabezado de flujo entrada salida
using namespace std; //permiso para acceso al espacio de nombres std

class TCoordenada  //Definicion de la clase

{

public:          //Permite acceder a los datos desde la función main
 void setX(int xx) {x = xx;}  //Funciones para el input en el main
 void setY(int yy) {y = yy;}  //Son funciones inline 
 void setZ(int zz) {z = zz;}  //inline = codigo dentro declaracion
 int getX(void) {return x;}   //Funciones para el output en el main
 int getY(void) {return y;}   //Funciones parámetro cero, sin argumentos
 int getZ(void) {return z;}
  void imprimir(void)  //Funcion de sobrecarga para el output
  {
   cout << "(" << x << ", " << y << ", " << z << ")" << endl;
  }

 private:       //Permite reservar datos para uso interno de la clase

 int x, y, z; 
};

int

main(void)
{
 int i; //Declaracion variable entera
 TCoordenada p1; //Instancia de la clase TCoordenada en el objeto p1
 p1.setX(1); //Usa las funciones de input para meter datos en la clase
 p1.setY(2);
 p1.setZ(3);
 p1.imprimir(); //LLama la funcion de sobrecarga de la clase TCoordenada
return 0;
}

No hay comentarios:

Publicar un comentario