Dev - C++ - Herencia relacionada con Clases Amigas

 
Vista:
sin imagen de perfil

Herencia relacionada con Clases Amigas

Publicado por Efraín (1 intervención) el 25/11/2015 08:26:01
Hola a todos, Comunidad LWP !

Tengo un problema con el siguiente programa:

Se trata de un programa estilo BlockBuster donde al usuario se le pregunta cuantas películas quiere registrar (Haci se crea el ciclo), el usuario va introduciendo los datos para cada película como lo es nombre, genero, duración, clasificación y su costo.

El programa esta distribuido en clases con nombres Pelicula, Ficha y Cine, sus parámetros serian los siguientes:

- Película: Nombre_pelicula( char [ ] ), Genero( char ) y Duracion( int ).
- Ficha: Esta clase HEREDA de Pelicula y esta compuesta por Costo y Tipo_pelicula.
- Cine: Ficha y Num_peliculas

Mi problema es que tengo que utilizar Clases amigas pero no se como funciona la herencia para este tipo de clases, este es mi codigo D:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include<iostream>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
using namespace std;
 
class pelicula{
	protected: char nombre_pelicula[30], genero[30]; int duracion;
	public:
		pelicula(char*np, char *ge, int du) {
	    	strcpy (nombre_pelicula, np);
	        strcpy (genero, ge);
	        duracion = du;
	    }
 
		void Imprime_datos_pelicula() {
          cout<<"Nombre Pelicula:  "<<nombre_pelicula<<endl;
		  cout<<"Genero:  "<<genero<<endl;
          cout<<"Duracion:  "<<duracion<<endl;
	    }
};
 
class ficha:
public pelicula {
	private: int costo, tpelicula;
	public:
    	ficha(char*np, char*ge, int du, int tp,int cost): pelicula(np, ge, du) {
        	costo=cost;
        	tpelicula=tp;
        }
 
		void Imprime_datos_ficha() {
        	Imprime_datos_pelicula();
            cout<<"Escriba el tipo de pelicula (1:2D , 2:3D) :"<<tpelicula<<endl;
            cout<<"El costo de la pelicula es :"<<costo<<endl;
        } friend class cine;
};
 
class cine{
    private:	int no_peliculas, *pt_ficha;
    public:
	cine(int nump){	no_peliculas=nump; }
 
    void Introducir_cine(){
    	cout<<"Cuantas peliculas deseas registrar?"<<endl;
        cin>>no_peliculas;
        pt_ficha = new int [no_peliculas];
        for(int i=0; i<no_peliculas; i++)	cin>>pt_ficha[no_peliculas];
    }
 
    void Imprimir_cine(){
    	for(int j=0; j<no_peliculas; j++)	cout<<"Pelicula:"<<pt_ficha[no_peliculas];
    }
};
 
int main(){
    cout<<"Negocio Blockbuster"<<endl;
    cine objcin(2);
	ficha * objfi = new ficha("Matrix","Accion",140,2,35);
    objfi -> Imprime_datos_ficha();
    cout<<"------------------------------------------------"<<endl;
    ficha * objfi1 = new ficha("Matrix","Accion",140,2,35);
    objfi1 -> Imprime_datos_ficha();
    system("pause");
    return 0;
}


Gracias por su Atención!
Atte: Efraín
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder