0% encontró este documento útil (0 votos)
10 vistas4 páginas

Documento Sin Título

El documento presenta un código en C++ que define clases para representar personas, alumnos y profesores, así como figuras geométricas como rectángulos y triángulos. Se utilizan funciones virtuales para mostrar información y calcular áreas de las figuras. El programa principal crea instancias de estas clases y muestra sus atributos y áreas correspondientes.

Cargado por

vargasi100706
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)
10 vistas4 páginas

Documento Sin Título

El documento presenta un código en C++ que define clases para representar personas, alumnos y profesores, así como figuras geométricas como rectángulos y triángulos. Se utilizan funciones virtuales para mostrar información y calcular áreas de las figuras. El programa principal crea instancias de estas clases y muestra sus atributos y áreas correspondientes.

Cargado por

vargasi100706
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

Vargas Ibarra Diego

2AM5
8/05/2025

#include <iostream>
#include <string>

using namespace std;

class Persona
{
protected:
string nombre;
int edad;

public:
Persona(const string &nombre, int edad)
: nombre{nombre}, edad{edad}
{
}
virtual ~Persona()
{
}

virtual void Mostrar() const


{
cout << "\tNombre= " << nombre << '\n';
cout << "\tEdad= " << edad << " anios\n";
}
};

class Alumno : public Persona


{
string boleta;

public:
Alumno(const string &nombre, int edad, const string &boleta)
: Persona(nombre, edad), boleta(boleta)
{
}

void Mostrar() const override


{
Persona::Mostrar();
cout << "\tBoleta= " << boleta << '\n';
}
};

class Profesor : public Persona


{
string numEmpleado;

public:
Profesor(const string &nombre, int edad, const string &numEmpleado)
: Persona(nombre, edad), numEmpleado(numEmpleado)
{
}

void Mostrar() const override


{

1
Vargas Ibarra Diego
2AM5
8/05/2025

Persona::Mostrar();
cout << "\t#Empleado= " << numEmpleado << '\n';
}
};

int main()
{
Persona *p(nullptr);
Alumno alumno{"Juan", 18, "20241234"};
Profesor profesor{"X", 57, "12365"};

cout << "Alumno:\n";


p = &alumno;
p->Mostrar();

cout << "\nProfesor:\n";


p = &profesor;
p->Mostrar();

return 0;
}

2
Vargas Ibarra Diego
2AM5
8/05/2025

#include <iostream>
using namespace std;

class Figura
{
protected:
double base, altura;

public:
Figura(double base, double altura)
: base(base), altura(altura)
{
}

virtual ~Figura()
{
}

void Mostrar()
{
cout << "\tBase= " << base << " u\n";
cout << "\tAltura= " << altura << " u\n";
}

/***FUNCIÓN VIRTUAL PURA***/


virtual double CalcularArea() const = 0;
};

class Rectangulo : public Figura


{
public:
Rectangulo(double base, double altura)
: Figura(base, altura)
{
}

double CalcularArea() const override


{
return base * altura;
}
};

class Triangulo : public Figura


{
public:
Triangulo(double base, double altura)
: Figura(base, altura)
{
}

double CalcularArea() const override


{
return base * altura / 2.;
}
};
int main()
{

3
Vargas Ibarra Diego
2AM5
8/05/2025

Figura *f[2];
//Figura figura(5, 3); //ERROR...la clase Figura es Abstracta
Rectangulo rectangulo(5, 3);
Triangulo triangulo(5, 3);
string nomFig[2] = {"RECTANGULO", "TRIANGULO"};

f[0] = &rectangulo;
f[1] = &triangulo;

for(int i = 0; i < 2; i++)


{
cout << nomFig[i] << ":\n";
f[i]->Mostrar();
cout << "\tA= " << f[i]->CalcularArea() << " u^2\n\n";
}
return 0;
}

También podría gustarte