我已經調用了一個對象的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