[C con Clase] Error ejecucion - Patron Factory Method
jesse
jessesazo en yahoo.com
Lun Mayo 25 15:52:46 CEST 2020
Buenas a todos
Estoy probando patrones. Estoy con el de creacion Factory Method y tengo
un error
Tengo la siguiente estructura
IPizza <== PizzaFactory --> udemy-pddcl
+-> DeluxePizza
+-> HamAndMushroomPizza
+-> HawaiianPizza
He creado una clase virtual / interface: IPizza
#ifndef IPIZZA_H_
#define IPIZZA_H_
class IPizza {
public:
IPizza();
virtual ~IPizza();
virtual int getPrice() const = 0;
};
#endif /* IPIZZA_H_ */
Esta interface es implementada por Deluxe, Hawaiian y HamMushroom Pizza,
modificando el comportamiento en el metodo getPrice
La clase PizzaFactory crea objetos de lo mencionado anteriormente, en
funcion al parametro enumPizzaType
class PizzaFactory {
public:
enum enumPizzaType {
HamMushroom,
Deluxe,
Hawaiian
};
static unique_ptr<IPizza> createPizza(enumPizzaType ept) ;
};
Pero cuando se invoca a la creacion del tipo de pizza, la linea del cout
que esta comentada, arroja un error del tipo "Segmentation fault (core
dumped)"
void creFactMeth_Pizza(PizzaFactory::enumPizzaType ept)
{
unique_ptr<IPizza> pizza; // defino el objeto pizza
pizza = PizzaFactory::createPizza(ept); // dependiendo de
parametro ept creo el tipo de piza
cout << "Price of " << ept ; ok
//cout << " is " << pizza->getPrice();<<-- Error
cout << std::endl;
}
Agradecere mucho si alguien me puede ayudar.
Uso Eclipse y CLion sobre linux. Adjunto fuentes
Att
Jesse
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: udemy-pddcl-src.zip
Type: application/zip
Size: 4210 bytes
Desc: no disponible
URL: <http://mail.listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20200525/88f7a37d/attachment.zip>
Más información sobre la lista de distribución Cconclase