language: C++11 (gcc-4.7.2)
date: 641 days 21 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
struct A { 
  void clear() { memset(this, 0, sizeof(A)); } 
 
private: // but if you remove this "private", it won't overwrite B::x anymore!
  int age; 
  char type; 
};
 
struct B : A {
  short x;
  B():x(42) 
   { }
};
 
int main() {
  B b;
  b.clear();
  std::cout << b.x;
}