我已经调用了一个对象的const成员函数。调用const成员函数
我在MainWindow上创建了一个对象,之前在设置大小之后,它调用了get_size()。
调用基类Gtk :: Window的get_size()方法。
它给出错误:'Gtk :: Window'不是'MainWindow'的可访问基础。
主窗口是从的Gtk :: Window类
class MainWindow: Gtk::Window
{
};
继承什么能这样做的原因。
我已经调用了一个对象的const成员函数。调用const成员函数
我在MainWindow上创建了一个对象,之前在设置大小之后,它调用了get_size()。
调用基类Gtk :: Window的get_size()方法。
它给出错误:'Gtk :: Window'不是'MainWindow'的可访问基础。
主窗口是从的Gtk :: Window类
class MainWindow: Gtk::Window
{
};
继承什么能这样做的原因。
Inhertance是private
默认为阶级。你需要从Gtk::Window
公开推导:如果您private
字继承
class MainWindow: public Gtk::Window {
大概应该是:
class MainWindow: public Gtk::Window
{
};
(这就是你如何继承,当你不为class
指定任何字)从Gtk::Window
每一个方法MainWindow
成为私有的(即使它是在Gtk::Window
中声明为public
或protected
)。
如果继承protected
字,则每public
方法从基类变为protected
继承类中的方法。 private
方法保持原样。
public
继承不会改变任何东西。它是使用struct
关键字声明的类的默认继承。
看来你忘了在类声明中使用public
。
其实我很惊讶他没有在类MainWindow:Gtk :: Window上得到编译错误,我以为你总是必须指定访问类型。 – sashoalm 2011-02-18 14:08:45