Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Un poco de C++

Desde que me he puesto a leer sobre C++ he llegado a las siguientes anotaciones:

La declaración de clases:  La forma de declarar clases en C++ es equivalente a la declaración de estructuras en C, pero con bastantes diferencias.

Las clases están divididas en 2 partes, una privada y otra pública. La privada se usa para declarar las variables de la clase a las que no se va a poder acceder desde fuera. Mientras que a la parte pública se le denomina interfaz y es esta parte la que puede modificar a la parte pública, por lo que normalmente suelen ser funciones. Estas funciones se declaran a la hora de construir o declarar la clase, pero normalmente se implementan de forma separada.

class Coche {
int velocidad, gasolina, distancia;
public:
void Repostar (int);
void Acelerar (int);
void Frenar (int);
};

En la clase anterior se puede observar todo lo explicado, la parte privada encima de ‘public:’ y la interfaz debajo.

Implementar  la interfaz: La interfaz se implementa igual que se implementa cualquier función en C pero utilizando ‘::’ para asignar la función implementada a la clase que queramos, quedaría algo así:

void Coche::Repostar (int g)
{
gasolina =+ g ; // Añadimos la cantidad 'g' a la gasolina que ya había en el depósito.
}

void Coche::Acelerar (int a)
{
velocidad =+ a ; // Añadimos la cantidad 'a' a la velocidad que tenía el vehículo.
}

void Coche::Frenar (int f)
{
gasolina =- f ; // Restamos la cantidad 'f' a la velocidad del coche.
}

Utilizando Objetos: Ahora que ya hemos definido la clase, podemos utilizar esta como un nuevo tipo de dato, primero declaramos el objeto y después podremos manipularlo con la interfaz, pero nunca sobre sus variables directamente:

Coche seat;    //Definimos una variable 'seat' del tipo 'Coche', esto en C++ se llama objeto, que es una instancia de una clase.
seat.Repostar(30); // Añadimos 30 litros de gasolina.
seat.Acelerar(50); //Aumentamos la velocidad en 50km/h.
seat.Frenar(20); // Reducimos la velocidad en 20km/h.

Lo que nunca se podrá hacer es: seat.velocidad=30; pues para esto están las interfaces.

1 agosto 2010 Posted by | all | , , , | Deja un comentario

   

A %d blogueros les gusta esto: