gpt4 book ai didi

c++ - 如何将控制类划分为实现与公共(public)接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 04:36:41 25 4
gpt4 key购买 nike

我创建了一个从 CWnd 派生的 MFC 控件类。

该控件是从头开始编写的,不使用任何子控件。这个单一的类实现了所有的控制逻辑,包括状态维护、绘制、响应事件等。

此外,我需要一个更“公共(public)”的接口(interface)供使用该控件的代码使用。理想情况下,这似乎是一个具有更简单接口(interface)的更简单的类。但是,将两个 MFC 类与同一个窗口相关联似乎会导致各种问题,或者甚至是不可能的。

我不太确定处理此问题的最佳方法。我感兴趣的是如何最好地为这样的控件提供一个简单的接口(interface)类。

请注意,该控件未预编译到库或任何内容中。它将被编译为应用程序的一部分。

最佳答案

您可以尝试将类一分为二,将更复杂的实现类作为公共(public)类的子类。

通常我会建议创建一个单独的纯虚拟接口(interface)类并使用多重继承将其连接到 MFC,但我猜您会希望能够在接口(interface)上使用标准的 CWnd 方法。

关于c++ - 如何将控制类划分为实现与公共(public)接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444083/

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