C++ 外部多态与类型擦除设计模式解析
1. 外部多态的示例与特性
在 C++ 编程中,外部多态是一种强大的设计模式。以下是一个简单的示例代码:
int main()
{
auto shape = std::make_unique<ShapeModel<int>>( 42 );
shape->draw(); // Drawing the integer
return EXIT_SUCCESS;
}
在这个示例中,我们为 int 类型提供了一个自由的 draw() 函数。在 main() 函数里,实例化了一个 ShapeModel<int> 对象。由于 int 满足所有要求(提供了 draw() 函数),这行代码可以成功编译,并且能调用 draw() 函数“绘制”整数。
需要注意的是,这只是一个技术演示,并非推荐在实际开发中这样使用。但它展示了一个令人印象深刻的特性:我们可以非侵入性地为 int 类型赋予多态行为。
2. 外部多态与适配器模式的比较
适配器模式和外部多态模式有相似之处,但也存在明显区别:
| 设计模式 | 特点 |
| ---- | ---- |
| 适配器模式 | 专注于标准化接口,将一个
超级会员免费看
订阅专栏 解锁全文
1628

被折叠的 条评论
为什么被折叠?



