Sie sind auf Seite 1von 4

CLASES Y OBJETOS EN C++

1. Clases
Es un tipo de datos utilizado en la programacin orientada a objetos, consiste en
agrupar en una sola entidad, la clase, tanto datos como funciones que manipulad
directamente dichos datos. Lo que contenga una clase ser suficiente para que
cualquier objeto de dicha clase pueda funcionar sin que dependa de ningn otro dato o
funcin externa a la clase.
Sintaxis
Class nombre_clase {
Datos miembro
..
Funciones miembro
..
};

class <identificador de clase> [<:lista de clases base>] {


<lista de miembros>
} [<lista de identificadores de objetos>];

Los miembros de una clase pueden tener especificadores de acceso quienes especifican
el alcance del acceso a los miembros. Estos pueden ser:
Public (publicos), los miembros public pueden ser accesibles desde cualquier parte del
programa donde sea accesible un objeto de la calase declarada.
Private (privados), los miembros private, solamente son accesibles por las funciones
miembro dentro de la misma clase.
Protected (protegidos), los miembros protected se comportan como privados pero
adems si son accesibles por las funciones miembro de las clases derivadas.
Ejemplo:
Clase suma
class suma {
private:
float x, y;
public:

int suma();
void muestraValores();
};
Desarrollo de sus funciones miembro
Se debe implementar cada funcin miembro y se realiza teniendo en cuenta la siguiente
sintaxis:
Tipo_resultado nombre_clase :: nombre_funcin {
Implementacin;
}

2. Objetos
Es la variable cuyo tipo de dato es una clase. Es a travs del objeto que se pueden utilizar
las funciones de la clase, por tanto es el objeto quien pone en funcionamiento a una clase.
Declaracin de un objeto de una clase:
Nombre_clase nombre_objeto;
Ejemplo:
suma sum1; //declara el objeto sum1 del tipo de la clase suma

Acceso a las funciones miembro de una clase:


Nombre_objeto.nombre_funcion();

3. Constructor de una clase


Los constructores son funciones miembro especiales que sirven para inicializar un
objeto de una determinada clase al mismo tiempo que se declara.
Los constructores son especiales por varios motivos:
Tienen el mismo nombre que la clase a la que pertenecen.
No tienen tipo de retorno, y por lo tanto no retornan ningn valor.
No pueden ser heredados.
Por ltimo, deben ser pblicos, no tendra ningn sentido declarar un constructor
como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco
como protegido, ya que no puede ser heredado.
Sintaxis:

class <identificador de clase> {


public:
<identificador de clase>(<lista de parmetros>) [: <lista de constructores>] {
<cdigo del constructor>
}
...
}
Si no definimos un constructor el compilador crear uno por defecto, sin parmetros,
que no har absolutamente nada. Los datos miembros de los objetos declarados en el
programa contendrn basura.
Si una clase posee constructor, ser llamado siempre que se declare un objeto de esa
clase. Si ese constructor requiere argumentos, como en este caso, es obligatorio
suministrarlos.

EJERCICIOS DE PROGRAMACION RESUELTOS


1. Hallar el rea de un cuadrado con clases
#include <iostream>
using namespace std;
float x;
class cuadrado {
private:
float lado;
public:
float calcular_area(float lado);
};
float cuadrado::calcular_area(float lado) {
return (lado*lado);
}
int main(int argc, char *argv[]) {
cuadrado c1;
cout<<"ingrese el lado del cuadrado: ";
cin>>x;
cout<<"El area del cuadrado es: "<<c1.calcular_area(x);
return 0;
}

2. Volumen de un cubo
#include <iostream>
using namespace std;
int a, b, c;
class cubo {
int altura, ancho, profundo;
public:
// Constructor de la clase cubo
cubo(int h, int a, int p){
altura=h; ancho=a; profundo=p;
}
// funcion miembro: calcula el volumen
int volumen(void){
return (altura*ancho*profundo);
}
};
int main(int argc, char *argv[]) {
cout<<"Ingrese la Altura: ";
cin>>a;
cout<<"Ingrese el Ancho: ";
cin>>b;
cout<<"Ingrese la Profundidad: ";
cin>>c;
// objeto cubo con los valores del constructor
cubo cubo1(a,b,c);
cout<<"El volumen del cubo es: "<<cubo1.volumen()<<endl;
return 0;
}

Das könnte Ihnen auch gefallen