#ifndef CONCFACT_H #define CONCFACT_H /////////////////////////////////////////////////////////////// // concFact.h -- creates layers of each type, e.g., // // input, hidden, and output // // // // This example is oversimplified in the following ways: // // - a real network needs its layers wired together. // // That has not been done here. // // - a real network usually has different node types // // in each layer, again, not done here. // // // // Jim Fawcett, CSE776 - Design Patterns, Summer 2004 // /////////////////////////////////////////////////////////////// #pragma warning(disable : 4786) #include #include "absFact.h" #include "node.h" using namespace std; class inputLayerFact : public absNNfact { public: virtual abstractLayer* createLayer(); virtual void PopulateLayer(int n); private: abstractLayer *pLayer; }; class hiddenLayerFact : public absNNfact { public: virtual abstractLayer* createLayer(); virtual void PopulateLayer(int n); private: abstractLayer *pLayer; }; class outputLayerFact : public absNNfact { public: virtual abstractLayer* createLayer(); virtual void PopulateLayer(int n); private: abstractLayer *pLayer; }; #endif