fork download
  1. #include <cstring>
  2.  
  3. #include <iostream>
  4.  
  5. struct base_t {
  6. unsigned a;
  7. };
  8.  
  9. struct derived_t : base_t {
  10. unsigned a;
  11. };
  12.  
  13. void print_derived_info(const derived_t& d) {
  14. std::cout << "base_t::a = " << ((const base_t&)d).a << ", "
  15. << "derived_t::a = " << d.a << std::endl;
  16. }
  17.  
  18. int main() {
  19. derived_t d;
  20.  
  21. memset(&d, 0u, sizeof(d));
  22. print_derived_info(d);
  23.  
  24. d.a = 3;
  25. print_derived_info(d);
  26.  
  27. d.base_t::a = 4;
  28. print_derived_info(d);
  29. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
base_t::a = 0, derived_t::a = 0
base_t::a = 0, derived_t::a = 3
base_t::a = 4, derived_t::a = 3