[C con Clase] Error ejecucion - Patron Factory Method
jesse
jessesazo en yahoo.com
Mar Mayo 26 19:43:32 CEST 2020
Gracias Steven
Pero no funciona, a lo mejor es algo que tengo que modificar en el Eclipse
El mensaje de error es el siguiente
$ ./udemy-pdd
Segmentation fault (core dumped)
Y el error ocurre justo en el cout de pizza->getPrice();
void pizza_information(PizzaFactory::enumPizzaType ept)
{
unique_ptr<IPizza> pizza = PizzaFactory::createPizza(ept);
cout << "Price of " << ept ;
cout << " is " << pizza->getPrice();
cout << std::endl;
}
Gracias, again, por tu ayuda
Jesse
On 25/5/20 18:59, Davidson, Steven wrote:
> Hola Jesse,
>
> Creé mi propio código de ejemplo para probar el código presentado. No
> tuve muchos problemas. Luego, usé sus códigos fuente sin problemas.
> Intente recompilar todo el proyecto y si lo está haciendo para la
> versión de depuración (debug), cambie a la versión de lanzamiento
> (release).
>
> Espero que esto ayude.
>
> Steven
>
>
> On Mon, May 25, 2020 at 10:26 AM jesse <jessesazo en yahoo.com
> <mailto:jessesazo en yahoo.com>> wrote:
>
> 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
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://mail.listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20200526/edf77e27/attachment.html>
Más información sobre la lista de distribución Cconclase