GTK プログラミング! ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
85:login:Penguin 02/09/24 02:57 zHWB0hgh C++になれていると、Gtk+の継承はかなりめんどい気がしてくるな。 そもそもCでオブジェクト指向やろうって発想がすごいが・・・ というわけでGtkmmもやり始めたんだけど、どっちがいいのかねえ。 86:login:Penguin 02/09/29 02:48 eHgtOed6 GTKもっとみんなに使ってほしいからageる 87:login:Penguin 02/09/29 02:54 eHgtOed6 継承をする場合(独自のウィジェットを書く場合)、 ウィジェットの構造体はクラスにしても良いようだ。 Gtk+の継承は構造体の最初のフィールドをGtkWidgetにすることにより キャスティングの多用でそれっぽいことができるようになっているが、 これはclass hoge:public GtkWidget と書いてC++による 「本物の」継承をさせてもうまくいくことがわかった。 最初のフィールドが同じなんだから当然といえば当然だが。 88:login:Penguin 02/09/29 02:58 eHgtOed6 オーバーライドはxxx_class_init()のような関数内で行える。 肝心のメンバ関数は次のように書けば良い。 static void xxx_init(GtkXXX *newwidget) { GTK_WIDGET_SET_FLAGS(newwidget, GTK_CAN_FOCUS); newwidget->Init(); }void GtkXXX::Init(){ //ここからインスタンス固有フィールド //わざわざキャスティングしなくてもメンバ変数がそのまま書ける }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4060日前に更新/255 KB
担当:undef