gpt4 book ai didi

c++ - `class HelloWorld : public Gtk::Window` 是什么意思?

转载 作者:行者123 更新时间:2023-11-30 00:59:22 25 4
gpt4 key购买 nike

我正在关注找到的 Gtk“Hello World”教程 here ,我在一个我以前从未见过的类声明中遇到了一行(我现在才学编程几个月),我想知道是否有人可以向我解释一下。这条线是

class HelloWorld : public Gtk::Window

我知道 class HelloWorld 在做什么,但我以前从未见过 public Gtk::Window。提供完整的头文件以供引用。

#ifndef GTKMM_EXAMPLE_HELLOWORLD_H
#define GTKMM_EXAMPLE_HELLOWORLD_H

#include <gtkmm/button.h>
#include <gtkmm/window.h>

class HelloWorld : public Gtk::Window
{

public:
HelloWorld();
virtual ~HelloWorld();

protected:
//Signal handlers:
void on_button_clicked();

//Member widgets:
Gtk::Button m_button;
};

#endif // GTKMM_EXAMPLE_HELLOWORLD_H

最佳答案

这意味着 HelloWorld 派生自 Gtk::Window,因此它继承了它的行为。

HelloWorld 表示一个 Gtk 窗口,因此从 Gtk 的窗口类派生它是很自然的。它的构造函数可能会向窗口添加一个按钮(实际窗口是由父类构造函数创建的,当创建 HelloWorld 的新实例时自动调用它......)并连接一个信号处理程序(on_button_clicked) 到窗口。

您可以通过HelloWorld 的实例调用所有Gtk::Window 的方法。反过来,HelloWorld 可以覆盖 Gtk::Window 的虚方法来改变它的行为。

关于c++ - `class HelloWorld : public Gtk::Window` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4478481/

25 4 0
文章推荐: c++ - 如何返回 const std::vector