Cita:
Iniciado por vangodp
Código C++:
Ver original#include <iostream>
using namespace std;
class inventario2; //Clase destino creada
class inventario1 { //Clase fuente
int codigo; //Codigo de unidad
int unidades; //Numero de unidades
float precio; //Coste de cada unidad
public:
inventario1 ( int a, int b, float c ) {
codigo = a;
unidades = b;
precio = c;
}
void putdatos() {
cout << " Codigo = " << codigo << "\n";
cout << " Unidades = " << unidades << "\n";
cout << " Precio = " << precio << "\n";
}
int getcodigo() {
return codigo;
}
int getunidades() {
return unidades;
}
float getprecio() {
return precio;
}
operator float() {
return ( unidades * precio );
}
operator inventario2() {
inventario2 temp;
temp.codigo = codigo;
temp.valor = precio * unidades;
return temp;
}
}; //Fin de la clase fuente
class inventario2 {
int codigo;
float valor;
public:
inventario2() {
codigo = 0;
valor = 0;
}
inventario2 ( int x, float y ) { //Constructor
codigo = x; //para inicializacion
valor = y;
}
void putdatos() {
cout << " Codigo = " << codigo << "\n";
cout << " Valor = " << valor << "\n";
}
inventario2 ( inventario1 p ) { //Constructor para conversion
codigo = p.getcodigo();
valor = p.getunidades() * p.getprecio();
}
}; //Fin de la clase destino
int main ( int argc, char * argv[] ) {
inventario1 s1 ( 100, 5, 140.0 );
inventario2 s2;
float valor_total;
/* inventario1 a float */
valor_total = s1;
/* inventario1 a inventario2 */
s2 = s1;
cout << " Detalles de productos - inventario tipo 1 " << "\n";
s1.putdatos();
cout << "\n Valor del almacen " << "\n";
cout << " Valor = " << valor_total << "\n\n";
cout << " Detalles de productos - inventario tipo 2 " << "\n";
s2.putdatos();
return 0;
}
Te lo arreglo para que vean.
Perdon la desprolijidad, es la segunda vez que posteo un tema de debate y no sabia hacer eso. De paso te agradezco la arreglada jaja. Saludos y espero que ahora entiendan mejor para ayudarme con mi problema