#ifndef LAYER_H_
#define LAYER_H_

class Layer
{
public:
    virtual void render()=0;
    virtual void update()=0;

protected:
    virtual ~Layer();
};

#endif

#ifndef LAYER_H_
#define LAYER_H_

//Abstract layer class

class Layer
{
public:
    virtual void render()=0;
    virtual void update()=0;

protected:
    virtual ~Layer() {}
};

#endif

Make sure layer class is destructed first
Make sure layer class is destructed first
