Red de conocimiento informático - Problemas con los teléfonos móviles - Programación vectorial

Programación vectorial

/*

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

Usando el espacio de nombres std

Medios de clase

{

Público:

media(){ };

~ Media(){ };

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

{

m _ Nombre = nombre

m_Number =Número;

};

Virtual int GetNumber()

{

Devolver m_Number

}

Pantalla virtual vacía()

{

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

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

}

Protegido:

Cadena m _ Nombre

int m_Número

};

Libro de clase: 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 ()

{

Medios::Display().

cout & lt& lt" ISBN:" & lt;& ltm_ISBN & lt& ltendl

}

Privado:

cadena de caracteres m_ISBN

};

Categoría 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_ Autor

};

int main()

{

//Agregar libros y CD

Libro *b1 = Nuevo Libro ();

Libro *b2 = Nuevo Libro ();

Libro *b3 = Nuevo Libro (

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

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

B3->;Init ("libro3", 10000, "ISBN 10000");

CD *cd1 = CD nuevo;

CD *cd2 = CD 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 . push _ back(b 1);

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

vect medios . push _ back(Cd2);

vect medios . >

//Mostrar pieza (cantidad de ventas superior a 1000)

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

{

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

{

cout & lt& ltLibros o CD con ventas superiores a 1000 <endl.

vectMedia[I]-& gt;display();

}

}

Devuelve 0;

}

//Vea la imagen para ver el efecto de operación.