在基本 GUI 编程中,在哪里声明对象和方法?
Where does one declare objects and methods in basic GUI programming?
我对 C++ 命令行应用程序了解不多,最近开始学习通过 JUCE 框架进行 GUI 编程。我已经成功地构建了一些 GUI 应用程序,其中一些是旧命令行应用程序代码的端口,但我想验证我是否正在正确地处理它。在命令行应用程序中,我们在 main 函数中声明了很多变量,显然,在某些方法中是局部的,但是在 GUI 应用程序中有什么等价物呢?例如,如果我正在使用一个 window GUI 应用程序,只有一个 GUI class 并且我想声明一些可由该 GUI 的所有部分访问的参数,我是否声明它们在主要部分或 class 规范的私有部分中?我一直在 GUI class 的私有部分中声明我的所有变量,就像我在普通 class 中所做的一样,但我不确定这是否正确。
如果我想在 2 个 GUI class 之间共享一个变量怎么办?我在什么时候/范围内声明以便两者都可以看到这些参数?
这是我第一次尝试 GUI 应用程序,所以我承认我可能犯了很多错误,(功能尚未完成):
实际上,无论应用程序的类型如何,我们通常不会在 main
中声明那么多变量。
那些 "parameters accessible by the whole application" 可以是单例 class 的成员,例如。
一般来说,你看看为什么两个class需要共享一个变量的原因。当您知道 为什么 他们合作时,回答 如何 两个 class 合作的问题通常会更容易。例如。如果 class B
是 A
的助手 class,每个 B 实例的存在只是为了帮助单个 A,因此 B 的生命周期仅由其 A 对象决定,那么A 应该只拥有 B,并且可以访问 B 的所有成员变量(通过 B 的成员函数,当然,不能直接访问。C++ class 默认为 private:
)[=14= 是有充分理由的]
我对 C++ 命令行应用程序了解不多,最近开始学习通过 JUCE 框架进行 GUI 编程。我已经成功地构建了一些 GUI 应用程序,其中一些是旧命令行应用程序代码的端口,但我想验证我是否正在正确地处理它。在命令行应用程序中,我们在 main 函数中声明了很多变量,显然,在某些方法中是局部的,但是在 GUI 应用程序中有什么等价物呢?例如,如果我正在使用一个 window GUI 应用程序,只有一个 GUI class 并且我想声明一些可由该 GUI 的所有部分访问的参数,我是否声明它们在主要部分或 class 规范的私有部分中?我一直在 GUI class 的私有部分中声明我的所有变量,就像我在普通 class 中所做的一样,但我不确定这是否正确。
如果我想在 2 个 GUI class 之间共享一个变量怎么办?我在什么时候/范围内声明以便两者都可以看到这些参数?
这是我第一次尝试 GUI 应用程序,所以我承认我可能犯了很多错误,(功能尚未完成):
实际上,无论应用程序的类型如何,我们通常不会在 main
中声明那么多变量。
那些 "parameters accessible by the whole application" 可以是单例 class 的成员,例如。
一般来说,你看看为什么两个class需要共享一个变量的原因。当您知道 为什么 他们合作时,回答 如何 两个 class 合作的问题通常会更容易。例如。如果 class B
是 A
的助手 class,每个 B 实例的存在只是为了帮助单个 A,因此 B 的生命周期仅由其 A 对象决定,那么A 应该只拥有 B,并且可以访问 B 的所有成员变量(通过 B 的成员函数,当然,不能直接访问。C++ class 默认为 private:
)[=14= 是有充分理由的]