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
} p>
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.