patrón de diseño de método de fábrica

Según el libro:

La esencia del patrón Factory es "Definir una interfaz para crear un objeto, pero dejar que las subclases decidan qué clase instanciar. El método Factory permite que una clase difiera la instanciación a subclases.

Di que tengo una clase de creador:

class Product; //this is what the Factory Method should return
class Creator {
    public:
        Creator()   //ctor
        { //... }

        virtual Product make(//args)
        { //... }
}

Ok, esa es mi clase de creador, pero no entiendo

El método Factory permite que una clase difiera la creación de instancias en subclases

¿Qué tiene que ver con las subclases? ¿Y para qué debo usar las subclases?

¿Alguien me puede dar un ejemplo?

Respuestas a la pregunta(7)

Su respuesta a la pregunta