1

我已经调用了一个对象的 const 成员函数。

我在 MainWindow 上创建了一个名为 get_size() 的对象,之前设置了大小。

调用基类 Gtk::Window 的 get_size() 方法。

它给出错误:'Gtk::Window' 不是'MainWindow' 的可访问基础。

MainWindow 继承自 Gtk::Window 类

class MainWindow: Gtk::Window
{

};

这可能是什么原因。

4

3 回答 3

9

private默认情况下,类是继承。您需要从Gtk::Window公开中获得:

class MainWindow: public Gtk::Window {
于 2011-02-18T14:06:10.837 回答
3

应该是:

class MainWindow: public Gtk::Window
{

};
于 2011-02-18T14:06:09.190 回答
1

如果你用privateword 继承(当你没有为 指定任何词时,这就是你继承的方式class),那么每个方法 from 都Gtk::Window变成私有 in MainWindow(即使它被声明为publicor protectedin Gtk::Window)。

如果你用protectedword继承public基类中的每个方法,都将成为protected继承类中的方法。private方法保持不变。

public继承不会改变任何东西。struct它是用关键字声明的类的默认继承。

您似乎忘记public在类声明中使用。

于 2011-02-18T15:14:37.317 回答