Obligatory: You're supposed to learn C++
before trying to use libraries like SFML that are written in C++. It will save you a lot of future pain to read a proper C++ book cover to cover before trying anything non-trivial with SFML.
First off, you do not need Init() and FreeUp() methods. In C++, every struct/class comes with a "constructor" and a "destructor" that are automatically called when objects are created and destroyed. This is one of the best things about the language and it is absolutely mandatory that you understand them.
Anyway, without knowing the exact failing code and compiler error you were faced with, but it looks like you were trying to implement runtime polymorphism, so I can at least try to give you a hint with this:
class Drawable {
public:
virtual void Render(sf::RenderWindow*) = 0;
}
class ANIMATION: public Drawable {
public:
void Render(sf::RenderWindow*);
// other methods
private:
// data and private methods
}
// other Drawables
std::vector<Drawable*> Scene;
int main() {
// ...
ANIMATION a;
Scene.push_back(&a);
// ...
}
Of course you still need to read a proper C++ book that will tell you about polymorphism in great detail.
For instance, even that snippet makes the very strong assumption that all your drawables are created in main() and thus survive as long as you use the Scene vector. You will have to learn how ownership works in C++ and figure out whether this is good enough or if you need smart pointers or something else.
It may also be the case that an inheritance hierarchy of classes using polymorphism is not the best design, but that's also something you'll have to figure out for yourself.