#ifndef LAYER_H #define LAYER_H ///////////////////////////////////////////////////////////////////// // layer.h -- implements collection of nodes // // - These layers are over-simplified. They are not // // interconnected to form networks and no optim- // // ization processing is implemented. // // - Their purpose is simply to show how an abstract // // factory pattern could be applied to the construct- // // tion of a neural network. // // // // Jim Fawcett, CSE776 - Design Patterns, Summer 2004 // ///////////////////////////////////////////////////////////////////// #include #include "absFact.h" #include "node.h" using namespace std; class inputLayer : public abstractLayer { public: virtual void addNode(); virtual void useLayer(); private: vector nodes; }; class hiddenLayer : public abstractLayer { public: virtual void addNode(); virtual void useLayer(); private: vector nodes; }; class outputLayer : public abstractLayer { public: virtual void addNode(); virtual void useLayer(); private: vector nodes; }; #endif