解答略
19.1 使用 malloc 编写你自己的 operator new(sizt_t)函数,使用 free 编写operator delete(void *)函数。
19.2 默认情况下,allocator 类使用 operator new 获取存储空间,然后使用 operator delete 释放它。利用上一题中的两个函数重新编译并运行你的 StrVec 程序。
19.3 已知存在如下的类继承体系,其中每个类分别定义了一个公有的默认构造函数和一个析构函数:
下面哪个 dynamic_cast 将失败?
19.4 使用上一个练习定义的类改写下面的代码,将表达式*pa 转换成类型C&:
19.5 在什么情况下你应该用 dynamic_cast 替代虚函数?
19.6 编写一条表达式将 Query_base 指针动态转换为 AndQuery 指针。分别使用 AndQuery 的对象以及其他类型的对象测试转换是否有效。打印一条表示类型转换是否成功的信息,确保实际输出的结果与期望的一致。
19.7 编写