0% encontró este documento útil (0 votos)
29 vistas7 páginas

Laboratorio C++: Herencia y Figuras Geométricas

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas7 páginas

Laboratorio C++: Herencia y Figuras Geométricas

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN II - LABORATORIO

CURSO: PROGRAMACION II
Grupos: MEC2-1 - MEC2-2
SEMESTRE: II
DOCENTE: PERCY W. LOVON RAMOS

RESOLUCION DE GUIA DE LABORATORIO N°01 DE PROGRAMACIÓN II


TEMA: REVISIÓN DE LENGUAJE DE PROGRAMACION C++ Y VISIÓN GENERAL
DEL DISEÑO DE SOFTWARE

I. OBJETIVOS
• Repasar conceptos básicos de programación en C++.
• Repasar conceptos de entrada y salida en C++.
• Repasar secuencias de control básicas en C++.
• Integrar conceptos de diseño de software con C++.

II. EJERCICIOS

. Implementar una clase Automovil (Carro) dentro de una jerarquía de herencia múltiple.
Considere que, además de ser un Vehículo, un automóvil es también una comodidad, un
símbolo de estado social, un modo de transporte, etc. Automovil debe tener al menos tres
clases base y al menos tres clases derivadas.
a. Solución (Código Fuente)

#include <iostream>
using namespace std;
class marca {
public:
marca(const string &nom)
{
nombre=nom;
}

void dar ()
{
cout<<" su marca es huyndai"<<endl;
}
private:
string nombre;
};
class color {
public:
PROGRAMACIÓN II - LABORATORIO

void dare ()
{
cout<<" su color es gris"<<endl;
}
private:
string nombre;
};
class asientos {
public:
void da ()
{
cout<<" su numero de asientos es 4"<<endl;
}
private:
string nombre;
};
class automovil:public marca,public color,public asientos{
public:
automovil(const string &nom):marca (nom)
{
nombre=nom;
}
void modelo()
{
cout<<"mi auto"<<endl;
cout<<"se llama el modelo:"<<nombre<<endl;
}
virtual void comodida ()
{
cout <<"no sabemos"<<endl;
}
virtual void estatus ()
{
cout<<"no sabemos"<<endl;
}
virtual void tipo()
{
cout<<"no sabemos"<<endl;
}
private:
string nombre;
};

int main(int argc, char *argv[]) {


automovil santa("santa fe");
[Link]();
[Link]();
[Link]();
[Link]();
PROGRAMACIÓN II - LABORATORIO

return 0;
}

b. Análisis
Se aplico las clases de herencia con la teoría de las diapositivas y con eso se
logro terminar el código

c. Ejecución de Código

d. Escribir una clase FigGeometrica que represente figuras geométricas tales como punto,
línea, rectángulo, triángulo y similares. Debe proporcionar métodos que permitan
dibujar, mover y destruir tales objetos. La jerarquía debe constar al menos cuatro
[Link]ón (Código Fuente)

#include <iostream>
#include <string>
using namespace std;
/* Escribir una clase FigGeometrica que represente figuras geométricas tales
como
punto, línea, rectángulo, triángulo y similares. Debe proporcionar métodos que
permitan dibujar, mover y destruir tales objetos. La jerarquía debe constar al
menos
cuatro clases.*/
class figgeometrica
{
private:
public:
virtual void dibujar ()
{
cout<<"dibujando"<<endl;
}
virtual void mover ()
{
cout <<"moviendo"<<endl;
}
virtual void destruir()
PROGRAMACIÓN II - LABORATORIO

{
cout<<"destruir"<<endl;
}
};
class cuadrado:public figgeometrica {
private:
public:
void dibujar (){
cout<<"dibujando-cuadrado"<<endl;
cout<<"**"<<endl;
cout<<"**"<<endl;
}
void mover (){
cout<<"moviendo-cuadrado "<<endl;
cout<<" **"<<endl;
cout<<" **"<<endl;
}
void destruir(){
cout<<"destruir-cuadrado "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
}
};
class triangulo:public figgeometrica {
private:
public:
void dibujar (){
cout<<"dibujando-triangulo"<<endl;
cout<<" * "<<endl;
cout<<"* *"<<endl;
}
void mover (){
cout<<"moviendo-triangulo "<<endl;
cout<<" *"<<endl;
cout<<" * *"<<endl;
}
void destruir(){
cout<<"destruir-trinagulo "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
}
};
class punto:public figgeometrica {
private:
public:
void dibujar (){
cout<<"dibujando-punto"<<endl;
cout<<"*"<<endl;

}
PROGRAMACIÓN II - LABORATORIO

void mover (){


cout<<"moviendo-punto "<<endl;
cout<<" *"<<endl;

}
void destruir(){
cout<<"destruir-punto"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
}
};
class linea:public figgeometrica {
private:
public:
void dibujar (){
cout<<"dibujando-linea:"<<endl;
cout<<"**"<<endl;

}
void mover (){
cout<<"moviendo-linea"<<endl;
cout<<" **"<<endl;

}
void destruir(){
cout<<"destruir-linea "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
}
};
int main(int argc, char *argv[]) {
cuadrado cuadra;
[Link]();
[Link]();
[Link]();

linea lina;
[Link]();
[Link]();
[Link]();

triangulo tria;
[Link]();
[Link]();
[Link]();

punto pun;
[Link]();
[Link]();
[Link]();
PROGRAMACIÓN II - LABORATORIO

return 0;
}

e. Análisis
se uso para similar las figuras geométricas asteriscos y con eso se uso el
polimorfismo para que puedan cambiar las figuras según sus métodos
requeridos por el problema.

f. Ejecución de Código

III. CONCLUSIONES
-para concluir es que la herencia te ahorra mucho código para ya no crear
bastantes clases

IV. BIBLIOGRAFIA
PROGRAMACIÓN II - LABORATORIO

1. Joyanes Aguilar, Luis, “Fundamentos de Programación: Algoritmos, Estructura


de Datos y Objetos”, 4a. Ed., McGraw-Hill, 2008, Madrid, ISBN: 9788448161118.
2. B. Stroustrup. “The C++ Programming Language (Fourth Edition)”. Addison-
Wesley, 2013. ISBN 9780321563842

También podría gustarte