1. 示例程序:
1 class A 2 { 3 public: 4 int num; 5 virtual void f(); // 去掉此句:4, 16 6 protected: 7 private: 8 }; 9 10 class B : virtual public A // 去掉virtual:8, 12 11 { 12 public: 13 int dog; 14 virtual void g(); // 改为f():8, 16(这里尤其要注意) 15 protected: 16 private: 17 }; 18 19 int main() // 不变:8, 20 20 { 21 std::cout << sizeof(A) << ", " << sizeof(B) << std::endl; 22 23 return 0; 24 }
2. 深度探索C++对象模型:
P102、110、111、115、121、123、157、165、169
浙公网安备 33010602011771号