Red de conocimiento informático - Material del sitio web - Preguntas sobre programación en línea

Preguntas sobre programación en línea

/*

1. Definir categorías de medios.

2. Tiene dos clases derivadas: clase Libro y clase CD.

3. Entre ellos, el libro tiene atributos como nombre, cantidad vendida, número ISBN, etc.

4.CD tiene atributos como nombre, volumen de ventas, fabricante, etc.

5. Requisitos:

1) Diseñar los atributos relevantes de las tres clases anteriores.

2) Utilizar el concepto de polimorfismo en forma de funciones virtuales; Muestra información del libro y del CD.

3) Escriba una función común f() para mostrar libros y CD que hayan vendido más de 1000 copias.

4) Prueba en la función principal.

*/

# incluir ltvector gt

# incluir ltstring gt

# incluir ltiostream gt

Usar espacio de nombres std

Medios de clase

{

Público:

media(){ };

~ Medios (){ };

Init virtual void (nombre de cadena, número entero)

{

m _ Nombre = nombre

m_Number = Número;

};

Virtual int GetNumber()

{

Devolver m_Number

}

Pantalla vacía virtual()

{

cout lt lt"Nombre:" lt ltm _ Nombre lt ltendl

cout lt lt" namber : " lt; ltm _ Número lt ltendl

}

Protegido:

Cadena m_Name

int m _ Número

};

Libros de aula: Medios públicos

{

Público:

libro(){ };

~ Libro(){ };

void Init(nombre de cadena, número entero, ISBN de cadena)

{

Medios::Init(nombre , número);

m _ ISBN = ISBN

};

Visualización vacía()

p>

{

Medios::Pantalla().

cout lt lt" ISBN:" ltm_ISBN ltendl

}

Privado:

Cadena m_ISBN

} ;

Tipo de CD: medio público

{

Público:

CD(){ } ;

~ CD(){ };

void Init(nombre de cadena, número entero, autor de cadena)

{

Medios::Init(nombre, número);

m_Author =Autor;

};

Pantalla vacía()

{

Medios::Pantalla ().

cout lt ltAuthor: " lt ltm _ Autor lt ltendl

}

Privado:

Cadena m_Author

p>

};

int main()

{

//Agregar libros y CD

Libro *b1 = Libro nuevo ();

Libro *b2 = libro nuevo ();

Libro *b3 = libro nuevo (

b 1->; Iniciar("libro1", 100, "ISBN 100");

B2->; Iniciar("libro2", 1000, "ISBN 1000"); Init("libro3", 10000, " ISBN 10000 ");

CD *cd1 = nuevo CD;

CD *cd2 = nuevo CD; *cd3 = nuevo CD;

CD 1->;Init("cd1", 100, "autor 100");

cd2->Init("cd2", 1000, "autor 1000" );

cd3->;Init("cd3", 10000, "autor 10000");

Vector ltMedia * gtvectMedia

vect medios . empujar _ atrás (b 1);

medios vect . >vect media . push _ back(CD 1);

vectmedia . push _ back(Cd2);

vect media . p>// Mostrar pieza (cantidad de ventas superior a 1000)

for(int I = 0; i ltvect media . size(); i )

{

if(vectMedia [I]- gt; get number() gt; = 1000)

{

cout lt Libros o CD con ventas superiores a 1000 ltendl

vectMedia.

Devuelve 0; p>

//El efecto de operación se muestra en la imagen.