Почему может быть опасно использовать эту структуру POD в качестве базового класса?

У меня был этот разговор с коллегой, и он оказался интересным. Скажем, у нас есть следующий класс POD

struct A { 
  void clear() { memset(this, 0, sizeof(A)); } 

  int age; 
  char type; 
};

clear , предназначенный для очистки всех членов, установив значение 0 (побайтно). Что может пойти не так, если мы будем использовать A в качестве базового класса? Здесь есть скрытый источник ошибок.

23
задан Johannes Schaub - litb 18 August 2011 в 20:02
поделиться