class A { ... }; class B : public A { public: int i; void* ptr; }; int func(A *a); int main() { B b; A *a = (A*)&b; func(a); }