gpt4 book ai didi

c++ - 代理类/句柄与子类

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:48 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Pimpl idiom vs Pure virtual class interface

在隐藏实现中,我已经阅读了很多关于“代理类”或“处理类”或“柴郡猫微笑”技术的文章,在这些技术中,您基本上包含一个指向“真实”类的指针作为公共(public)数据成员/代理类,然后在“真实”类中实现所有内容。

但我在查看一些示例代码时注意到另一种技术似乎更简单,因为它不需要您在 handle 类中也编写“虚拟”方法,然后调用 handle 类中的真实方法,它也根本不需要任何数据成员,总体上看起来更加精简。

技术是将所有公共(public)方法简单地定义为 struct(或所有内容都是 public 的类)和所有 virtual=0 仅此而已的成员函数。因此没有实现。然后,定义一个返回指向此 struct 的指针的静态函数,以便客户端可以使用该类。但在幕后,此方法实际上返回结构的子类,然后您可以在该子类中进行更多操作。

如果这如此简单,我认为这比包含一个指向单独类的数据成员的公共(public)类更优雅,并且必须实现公共(public)类对数据成员方法的调用,那么为什么不呢?这不是隐藏实现中讨论最多的技术吗?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com