fork download
  1. #include <stdio.h>
  2. class Base{
  3. public:
  4. virtual void vfunc() { puts("Base::vfunc()"); }
  5. };
  6. class Derived: public Base
  7. {
  8. public:
  9. virtual void vfunc() { puts("Derived::vfunc()"); }
  10. };
  11. #include <string.h>
  12. int main()
  13. {
  14. Derived d;
  15. Base b_assign = d;
  16. Base b_memcpy;
  17. memcpy(&b_memcpy, &d, sizeof(Base));
  18.  
  19. Base *p_assign = &b_assign;
  20. Base *p_memcpy = &b_memcpy;
  21. p_assign->vfunc();
  22. p_memcpy->vfunc();
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Base::vfunc()
Derived::vfunc()