class base { public: void virtual something() = 0; }; template class derived : public base { public: void something(){} T* member; }; int main() { base* test = new derived(); // now i want to have test accessing member // ... test->member ... // how? return 0; }