clasepoo creacionobjetos constantes i2015
DESCRIPTION
calse objetos c++TRANSCRIPT
-
Programacin Orientada a Objetos
Compilado por:
Dra. Mayela Coto.
Mag. Sonia Mora
Adaptado por: Jennifer Fuentes Bustos
-
Creacin de objetos
Creamos un objeto mediante la siguiente sintaxis:
Clase_de_objeto identificador ([lista_de_argumentos]);
//Crea el objeto de tipo Clase_de_objeto con un constructor
Ejemplos:
Persona personita;
Persona pers1(01234567,Sandra, Soto);
Persona pers2("3456789", "Silvia", "Soto", 'F',1995);
En ambos casos, se crean objetos en memoria esttica.
La memoria esttica se define en el momento en que se compila el programa. Una vez que la funcin finaliza, el objeto se destruye.
-
Una empresa de tejidos necesita crear retazos de telas con el borde ribeteado en hule e impermeabilizadas para cubrir tapas circulares. Declare una clase que permita calcular la cantidad de hule que se necesita para el ribete (en cm) y el costo de impermeabilizarlo ($0,75 por cm2). Defina una clase con atributos, mtodos constructores (con y sin parmetros) y los mtodos set y get para cada uno de los atributos, los mtodos de clculo as como la cantidad de hule necesario y el costo de impermeabilizacin.
Ejemplo: Clase Circulo
-
Ejemplo: Clase Circulo #include
using namespace std;
class Circulo
{
private:
float radio;
public:
Circulo( )
{
radio=0;
}
Circulo( float pRadio )
{
radio=pRadio;
}
-
Ejemplo: Clase Circulo void setRadio (float pRadio)
{ radio = pRadio; }
float getRadio ( )
{ return (radio); }
float longitud()
{ return 2 * 3.14159 * radio; }
float area()
{ return 3.14159 * radio * radio; }
float costo()
{ return 0.75* area(); }
};
-
Constantes Se utilizan para representar datos que no cambian durante toda la aplicacin.
Tambin se les asocia un tipo de datos.
Se definen como variables normales, pero precediendo el nombre de su tipo la palabra reservada const y dndoles siempre un valor inicial al declararlas.
Sintaxis: const = ;
Ejemplo: const float PI = 3.14159;
-
Constantes
Algunas de las ventajas que reportara el uso de la constante PI:
Es tedioso y montono escribir constantemente la secuencia 3.14159
en vez de PI
Se pueden cometer errores
que no seran detectados por el compilador.
Mayor legibilidad para
los cdigos fuentes.
Si se decide cambiar la
precisin (usar por ejemplo
3.1415926) se tendran que hacer modificaciones en todos los lugares donde aparece la
secuencia de dgitos.
-
Ejemplo: Clase Circulo #include
using namespace std;
const float PI = 3.14159;
class Circulo
{
private:
float radio;
public:
Circulo( ) {
radio=0;
}
Circulo( float pRadio ) {
radio=pRadio;
}
-
Ejemplo: Clase Circulo void setRadio (float pRadio)
{ radio = pRadio; }
float getRadio ( )
{ return (radio); }
float area() {
return PI * radio * radio;
}
float longitud() {
return 2 * PI * radio;
}
float costo()
{ return 0,75* area(); }
};
-
Ejemplo: Clase Circulo
Escriba la seccin del main() para crear TRES objetos Telas
telaA: debe crearse con el constructor con parmetros y tiene un radio de 4
telaB: debe crearse con el constructor con parmetros solicitando previamente el radio al usuario.
telaC: debe crearse con el constructor sin parmetros y posteriormente asignarle un valor al radio dado por el usuario
Calcule el largo de hule requerido y el costo de impermeabilizar la tela para la tapa C (telaC)
-
int main() {
int r;
Circulo telaA(4);
cout
-
Circulo telaC;
cout
-
Ejemplo: Clase Circulo
Duplique el valor actual del radio de la telaB
Calcule la nueva cantidad de hule y el nuevo costo de impermeabilizarla
-
Obtiene el radio
Ejemplo: Clase Circulo int main() {
int r;
int r1;
r1 = telaB.getRadio();
r1= r1 *2;
telaB.setRadio(r1);
cout
-
Ejemplo: Clase Circulo int main() {
int r;
int r1;
r1 = telaB.getRadio();
r1= r1 *2;
telaB.setRadio(r1);
..
system("pause");
return 0;
}
telaB.setRadio(telaB.getRadio()*2);
-
Ejercicio Un propietario de tierras quiere vender su terreno pero lo quiere
hacer segregndolo en terrenos ms pequeos , todos con forma rectangular. Disee una clase que le permita resolver el problema de calcular lo que cuesta cada terreno , con los mtodos bsicos (constructor, set y get) y mtodos de clculo. El costo del terreno es de 50,000 colones por m2
largo
ancho
area = largo * ancho perimetro = 2*largo + 2*ancho
-
Ejemplo: Clase Rectngulo #include
using namespace std;
class Rectangulo
{
private:
// atributos
float largo;
float ancho;
// mtodos
public:
// constructor con parmetros
Rectangulo (float l, float a)
{ largo = l;
ancho = a;
}
// constructor sin parmetros
Rectangulo ( )
{ largo = 0;
ancho = 0;
}
-
Ejemplo: Clase Rectngulo // mtodos set
void setLargo(float l)
{
largo=l;
}
void setAncho (float a)
{
ancho=a;
}
// mtodos get
float getLargo( )
{
return largo;
}
float getAncho( )
{
return ancho;
}
-
Ejemplo: Clase Rectngulo // mtodos de clculo
float perimetro( ) {
return 2 * (largo+ ancho);}
float area( ) {
return largo * ancho;}
float costo( ) {
return area()*50000;
}; // fin clase
Note la diferencia en cmo se invoca a un atributo y a un mtodo
-
Ejercicio: Clase Rectngulo
Defina el main de la clase Rectangulo
Cree dos objetos terrenos de tipo Rectangulo, calcule e imprima el rea y el permetro de ambos y el costo de venta de los mismos.
-
Ejercicio: Clase Rectngulo // cuerpo principal
int main( )
{
Rectangulo terrenoA(7,3);
cout
-
Usado nicamente con fines acadmicos