1

オブジェクトの const メンバー関数を呼び出しました。

以前にサイズを設定した後、get_size() という名前の MainWindow にオブジェクトを作成しました。

基本クラス 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

wordで継承する場合private(および に単語を指定しない場合の継承class方法) からのすべてのメソッドはGtk::Windowプライベートになります (またはinMainWindowとして宣言されている場合でも)。publicprotectedGtk::Window

ワードで継承すると、基本クラスのprotectedすべてのメソッドが継承されたクラスのメソッドになります。メソッドはそのままです。publicprotectedprivate

public継承は何も変更しません。structキーワードで宣言されたクラスのデフォルトの継承です。

publicクラス宣言で使用するのを忘れたようです。

于 2011-02-18T15:14:37.317 に答える