|
|
方法一: 它用基类的两个成员,用静态成员,来避免了无法继承问题。(因为就是是私有,静态变量也能继承,毕竟同一块内存区)
也为后来的TooManyOBjects()和objectCount()函数调用做铺垫。
方法二:在头文件const只能初始化int size_t等类型
方法三:昨天一样,生成对象函数和复制函数用static,并返回。
方法四:私有继承也是继承,只要是继承,派生类就会拥有基类所有对象,只存在访问权限而已。
private权限导致派生类无法直接访问。
但是,派生类构造/析构函数默认是加入了基类的构造/析构函数的。Printer的调用,必定会导致Counted的调用,init便存在间接访问权限。
所以Printer可以只管用,计数功能完全基类代替。
不得不感叹作者写的太好了!