#include "couche.h"
#include "hiddenCouche.h"
#include <vector>
using namespace std;

class OutputCouche : public Couche{
    private:
        SynapseMatrix prevChange;
        const HiddenCouche *prevCouche;
    public:
        OutputCouche();
        OutputCouche(const unsigned int nbr,const HiddenCouche *prev=NULL);
        void activate();
        void backPropagate(const std::vector<double> deltaOutput);
        double getChange(const unsigned int neurPrevCouche,const unsigned int neurThisCouche) const throw(const unsigned int, std::string); 
/*        void OutputCouche::setPrevCouche(const HiddenCouche *prev); */ 
        void setPrevCouche(const HiddenCouche *prev); 
        void printMatrix();
        OutputCouche& operator=(const OutputCouche& c);
};
