#include template class animal : public stc::any { public: bool is_happy() { return this−>exact().is_happy_impl(); } }; class cat : public animal { public : bool is_happy_impl() { return true; } }; class dog : public animal { public : bool is_happy_impl() { return false; } }; int main() { cat c; dog d; c.is_happy(); // true d.is_happy(); // false }