Aplica POO con C ++ de este modo
POO con C ++. Una clase es una definición de operaciones que se define una vez en algún punto del programa, pero normalmente se define en un archivo cabecera, asignándole un nombre que se podrá utilizar más tarde para definir objetos de dicha clase. Las clases se crean usando la palabra clave class, y su sintaxis es la siguiente:
class Nombre_de_la_Clase
{
Definición_de_Datos;
Prototipos_y_métodos;
};
Nota: Muy importante no olvidar el punto y coma final.
Cuando deseemos crear un objeto de una clase definida lo que haremos será lo siguiente:
Nombre de la Clase Nombre del Objeto;
Punto p1,p2; // Creación de dos objetos
// de la clase Punto
También se pueden definir apuntadores a objetos de la siguiente forma:
Nombre de la Clase *Nombre del Objeto;
Punto p1,p2; // Creación de dos objetos
// de la clase Punto
Se puede acceder a los datos y métodos de una clase de la misma forma que se accede a un campo de una estructura, es decir, con . o con ->, seguido del nombre del elemento a usar.
- Un miembro público es accesible en cualquier lugar en el que exista un objeto de la clase
- Un miembro protegido solo es accesible desde las clases que se hereden de la clase que lo contiene
- Por su lado, miembro privado solo es accesible por los métodos de la clase a la que pertenece.
También se puede crear una clase usando la palabra clave struct, la diferencia es que con struct los miembros se hacen públicos por defecto, mientras que con class se hacen privados por defecto.
Para hacer un miembro público, privado o protegido usamos respectivamente: “public”, “private” o “protected”.
Definición de una Clase
El cuerpo de un método, puede o bien incluirse en la definición de una clase, en cuyo caso lo llamaremos método inline, o bien en un archivo fuera de la clase.
Para que C++ sepa cuándo una función es simplemente una función, y cuándo es un método, en éste último caso siempre debemos poner al método como prefijo el nombre de la clase a la que pertenece seguido de :: (operador de ámbito).
class Celdilla
{
char Caracter, Atributo; //Miembros privados
public:
void FijaCeldilla(char C, char A)
{
Caracter=C; Atributo=A;
}
void ObtenCeldilla(char &C, char &A)
{
C=Caracter; A=Atributo;
}
//&C es una referencia a la variable C
};
Métodos Inline
En la definición de la clase anterior pueden verse dos variantes, en la primera los métodos se definen dentro de la misma clase, mientras que en la segunda sólo se incluye en la clase un prototipo de los métodos, su implementación está fuera. Los métodos cuya definición se incluye en la clase se denominan Métodos inline.
En el caso de emplear métodos inline, vamos a tener como beneficio que la ejecución va a ser más rápida, pero sin embargo, el código objeto que genera el compilador va a ser mayor. En algunos compiladores puede que no suceda esto, pero normalmente suele ocurrir. Así, a la conclusión a la que podemos llegar es que, para métodos pequeños, el método Inline si es óptimo, pero en caso contrario no lo será.
class Celdilla
{
char Caracter, Atributo;
public:
void FijaCeldilla(char C, char A);
void ObtenCeldilla(char &C, char &A);
};
void Celdilla::FijaCeldilla(char C, char A)
{
Caracter=C;Atributo=A;
}
void Celdilla::ObtenCeldilla(char &C, char &A)
{
C=Caracter;A=Atributo;
}
Entrada y Salida Básica
“cin” y “cout”
cin y cout son dos flujos (entrada y salida) de datos pertenecientes a la biblioteca de C++ llamada iostream, y se utilizan para lo siguiente:
cin>>dato : Almacena el carácter introducido por teclado en dato
cout<<dato : Lee el contenido de dato y lo muestra por pantalla.