
Ayuda con C++ polimorfismo
Publicado por carlos (1 intervención) el 04/10/2021 07:36:03
Esta es una parte del código, en este caso estoy llamando a una clase sobre y paquete una sola vez, pero la tengo que hacerlo multiples veces y me mostrara el costo y esto se guarda en el vector miVector.
Mi problema es que no hacer como al final me hago un conteo de los envios, es decir.
Salida:
El costo de envio es: 100
el total ahora es 100
el costo de envio es: 20
el total ahora es 120
el costo de envio es: 30
el total ahora es 150
el costo de envio es: 20
el total ahora es 170
el costo final es 170
void procesar(Envio* claseBase);
int main(){
Paquete p1("unknown","unknown","unknown","unknown","unknown", "unknown","unknown","unknown","unknown","unknown",10,5,10,20,30,40);
Sobre s1("unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown",10,10,26,4);
vector <Envio*> miVector{&miPaquete, &miSobre};
for (Envio* referenciaEnvio : miVector){
procesar(referenciaEnvio);
}
}
void procesar(Envio* claseBase){
cout <<"El costo de envio es: " << claseBase -> calculaCosto() << endl;
}
salida:
El costo de envio es: 1210
El costo de envio es: 20
Mi problema es que no hacer como al final me hago un conteo de los envios, es decir.
Salida:
El costo de envio es: 100
el total ahora es 100
el costo de envio es: 20
el total ahora es 120
el costo de envio es: 30
el total ahora es 150
el costo de envio es: 20
el total ahora es 170
el costo final es 170
void procesar(Envio* claseBase);
int main(){
Paquete p1("unknown","unknown","unknown","unknown","unknown", "unknown","unknown","unknown","unknown","unknown",10,5,10,20,30,40);
Sobre s1("unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown","unknown",10,10,26,4);
vector <Envio*> miVector{&miPaquete, &miSobre};
for (Envio* referenciaEnvio : miVector){
procesar(referenciaEnvio);
}
}
void procesar(Envio* claseBase){
cout <<"El costo de envio es: " << claseBase -> calculaCosto() << endl;
}
salida:
El costo de envio es: 1210
El costo de envio es: 20
Valora esta pregunta


0