#ifndef ABSFACT_H #define ABSFACT_H /////////////////////////////////////////////////////////////// // absFact.h -- creates Neural Network layers // // using services of concrete factories // // // // Jim Fawcett, CSE776 - Design Patterns, Summer 2004 // /////////////////////////////////////////////////////////////// class abstractLayer; class absNNfact { public: enum LayerType { input, hidden, output }; static absNNfact* CreateFactory(LayerType lt); virtual abstractLayer* createLayer() = 0; virtual void PopulateLayer(int n) = 0; }; class abstractLayer { public: virtual void addNode() = 0; virtual void useLayer() = 0; }; #endif