调用const成员函数

时间:2011-02-18 14:04:08

标签: c++ gtk gtkmm

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

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

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

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

MainWindow继承自Gtk :: Window类

class MainWindow: Gtk::Window
{

};

这可能是什么原因。

3 个答案:

答案 0 :(得分:9)

默认情况下,类的继承为private。您需要公开地从Gtk::Window派生:

class MainWindow: public Gtk::Window {

答案 1 :(得分:3)

应该是:

class MainWindow: public Gtk::Window
{

};

答案 2 :(得分:1)

如果您使用private字继承(这是您在class未指定任何字时继承的方式),Gtk::Window中的每个方法都会在MainWindow中变为私有(即使它在public中声明为protectedGtk::Window)。

如果继承protected字,则基类中的每个public方法都会成为继承类中的protected方法。 private方法保持不变。

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

您似乎忘记在课堂声明中使用public