Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.- Dado los siguientes códigos, describa la función y a que característica de la P.O.O. pertenece
//Class name is Car
class Car
{
//Data members
char name[20];
int speed;
int weight;
public:
//Functions
void brake(){
}
void slowDown(){
}
};
int main()
{
//ford is an object
Car ford;
}
#include <iostream>
using namespace std;
class ParentClass {
//data member
public:
int var1 =100;
};
class ChildClass: public ParentClass {
public:
int var2 = 500;
};
int main(void) {
ChildClass obj;
}
1
Taller de Programación a objetos Ejercicios
Taller
-int max_vehiculos;
-int num_vehiculos;
Taller(int);
Void meter(vehiculo);
Void arreglarVehiculos();
1..*
Vehículo
String color;
String marca;
Vehiculo();
Void arrancar()=0;
Void parar()=0;
Void repostar()=0;
Coche Moto
Int motor; Int cilindrada;
Coche(); Moto();
2
Taller de Programación a objetos Ejercicios
//
// CLASE BASE
//
class cBase {
private:
int objeto_base_1;
int objeto_base_2;
public:
cBase();
virtual ~cBase();
void funcion_A();
void funcion_B();
virtual void funcion_C();
virtual void funcion_D() = 0;
};
cBase :: ~cBase()
{ cout << "Destructor de BASE" << endl;}
//
// CLASE DERIVADA
//
class cDerivada : public cBase {
private:
3
Taller de Programación a objetos Ejercicios
int objeto_deriv_1;
int objeto_deriv_2;
public:
cDerivada();
~cDerivada();
void funcion_A();
void funcion_D();
};
cDerivada :: ~cDerivada()
{ cout << "Destructor de DERIVADA" << endl;}
se pide:
4
Taller de Programación a objetos Ejercicios
4.-
Biblioteca
Volumen
-maxLibros
-maxRevistas #nombre
#numVol
1..1 0..*
+mostrarBiblioteca() : void
Libro Revista
--numLibros -numRevistas
C4 C5
-a1 : String -a1 : String
+C4(entrada p1 : String, entrada p2 : String, entrada p3 : String) +C5(entrada p1 : String, entrada p2 : String, entrada p3 : String)
+C5(entrada p : C5&)
+~C4() +~C5()
+o1() : int +o1() : int
C3
0..30 #
#
+C3(entrada p1 : String, entrada p2 : String)
-c3 +C3(entrada p : C3&)
+~C3()
+o1() : int
0..1 -c3
* -c1
0..* -c2
C1
-a1 : String C2
-c1 -c2
-a2 : String -a1 : String
+C1(entrada p1 : String, entrada p2 : String)
+C2(entrada p : String)
+C1(entrada p : C1&) 1 0..20
+~C2()
+~C1()
+operator=(entrada p : C1&) : C1&
5
Taller de Programación a objetos Ejercicios
Se pide:
6.-
Barco
Submarino Destructor
6
Taller de Programación a objetos Ejercicios
7
Taller de Programación a objetos Ejercicios
1: #include <iostream>
2: using namespace std;
3:
4: class Padre{
5: friend ostream& operator<<(ostream& o, const Padre& p) {
6: o << "PADRE" << endl; return o;
7: }
8: public:
9: virtual int ejemplo(int a) {}
10: void ejemplo(int a, int b) {}
11: virtual int otro(int x) {}
12: void otro(int a, int b, int c) {}
13: virtual void print() {}
14:};
15:
16: class Hija : public Padre{
17: friend ostream& operator<<(ostream& o, const Hija& p) {
18: o << "HIJA" << endl; return o;
19: }
20: public:
21: int ejemplo (int a) {}
22: void ejemplo (int a, int b) {}
23: int otro(int x) {}
24: float otro(int x,int y) {}
25: void print() { cout << *this; }
26: };
27:
28: class Nieta: public Hija {
29: public:
30: int ejemplo (int a) {}
31: };
32:
33: Hija* Test (Padre *p) {
34: if (p) p->print(); return dynamic_cast<Hija*>(p);
35: };
36:
37: Padre* Test (Hija *h) {
38: if (h) h->print(); return h;
39: };
40:
41: int main(){
42: Nieta n; Padre* p = &n;
43: p->ejemplo(1);
44: p->ejemplo(1,2);
45: p->otro(1);
46: p->otro(1,2);
47: p->otro(1,2,3);
48:
49: Hija *ph = &n;
50: ph->ejemplo(1);
51: ph->ejemplo(1,2);
52: ph->otro(1);
53: ph->otro(1,2);
54: ph->otro(1,2,3);
55:
56: /* TEST */
57: p=Test(new Padre());
58: ph=(Hija*)Test(new Hija());
59: if (p) cout << *p;
60: if (ph) cout << *ph;
61: }