clase y objetos
una clase (class)es un concepto expandido de una estructura de datos en lugar de manejar solo datos , una clase puede manejar ademas funciones.Un objeto es una instancia de una clase.En términos de variables, una clase equivaldría al "tipo"y un objeto seria la variable. las clases son declaradas usando la palabra "class"y su forma general o formato seria:
class nombre {
especificador_de_acceso_1:
{componentes 1};
especificador_de_acceso_2:
{componentes 2};
.
.
}
nombre_objeto1,nombre_objeto2,....nombre _objeto_n;
*donde los nombres de las clases y de los objetos debe ser identificadores validos.
los componentes pueden ser datos o declaración de funciones.El especificador de acceso puede ser tipo privado (private),publico(public) y (protected)
Estos especificadores modifican los derechos de acceso a los componentes de la siguiente forma:
- Privados:estos componentes son accesibles únicamente por componente de la misma clase o por sus "amigos".
- Protegidos:similar al anterior pero ademas pueden ser accesados por componentes de sus clases privadas
- Públicos: estos pueden ser accesados por todos.
*por default todos los componentes en una clase son privadas a menos de que se especifique otra cosa.
#include<iostream>
usingnamespace std;
class cRectangulo{//"cRectangulo" es el nombre de la clase private
private:
int x,y;
public:
void tomar_valores(inta a , int b) {x=a ;y=b;}
int area() {return (x*y);}
}rect; //"rect" es el nombre del objeto
int main() {
rect.tomar_valores(3,4);
cout<<"area:"<<rect.area()<<endl;
}
return o;
===================================================
#include <iostream>
using namespace std ;
class CRectangulo {
int x ,y;
public:
void tomar_valores(int,int); //aquí también podemos solo nombrar a la función
};
void CRectangulo :: tomar_valores(int a , int b) { // Aquí es la declaración de la función.
x=a;
y=b;
}
int main () {
cRectangulo rect ;// los objetos también se pueden declarar fuera de la clase.
rect.tomar_valores(3,4);
cout<<"area:"<<rect.area()<<"\n";
return 0 ;
}
salida pantalla:
_12...
En este programa los 2 puntos dobles "::" se utilizan para definir desde fuera de una clase ; de lo contrario se tomaría como definición de una función global.
==================================================
# include<iostream >
using namespace std;
class cRectangulo {
int x,y;
public
void tomar_valores(int,int);
int area(){return(x*y);}
};
void cRectangulo:: tomar_valores(int a, int b);{
x=a;
y=b;
int main (){
cRectangulo rect ,rectb;
rect.tomar_valores(3,4);.
rectb.tomar_valores(5,6);
cout<<"rect.area:"<<rect.area()<<endl;
cout<<"rectb.area"<<rectb.area()<<"\n";
return 0;
}
salida :rect area:_12
rectb area :_30
No hay comentarios:
Publicar un comentario