侯捷翻译的《深度探索C++对象模型》一书中,对C++对象模型进行了三种典型模型划分,分别为简单对象模型(A Simple Object Model)、表格驱动对象模型(A Table-drive Object Model)、C++对象模型(The C++ Object、 Model)。本文以及之后的博客主要总结的都是最后一个C++对象模型。在C++中,成员分为成员变量和成员函数,其中成员变量分别静态成员变量(class static data members)、非静态成员变量(class nonstatic data members),成员函数分为静态成员函数(class static member function)、非静态成员函数(class nonstatic member function)、虚函数(class virtual member function)。
下面分别总结三种经典对象模型。
设计一个经典类Point如下,那么这个类的三种对象模型布局将在下面详细讲解和分析。
class Point
{
public:
Point(