[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 727] C++ の Class の利用



Aki です。

C++のとかで、OOP どうたらこうたら(←省略 ^^;)という話が続いているのです
が僕の意見は
# CINT が何か知らないと言う状況の中で、、、


 <Event-handling をシステムでやってくれると良いなぁ>


と言うことにつきます。^^;
image としては、BTRON1 で、例えば window を開くときに、

  wopn_wnd(attr, par, r, org, pict, title, bgpat, atr);

という、馬鹿長い引数を持った API を使う変わりに、

  wopn_wnd(new MyWindowObject(ppid,...,etc));

で、すんだら、嬉しいです。

後は、システムが、Event に従い仮想関数を呼び出してくれればよい。
まあ、MyWindowObject の領域が勝手に削除されたら、ウインドウも閉じると。

  wopn_wnd(handle = new MyWindowObject);
  ~handle();  // ウインドウを閉じる。

万事が万事この感じだと、すごくプログラムしやすいなぁ。
まあ、wopn_wnd() を、MyWindowObject の生成子とかに入れても良いけど、やっぱ、
ウインドウを開くときは生成時とは違うことがあるし。

ちなみに、BTRON1 のウインドウ周りの API を C++ の Class で、Capsule すると、
 1 Container 的な主ウインドウの為の Class
  2 主従関係なくウインドウ事象を処理するための Class
が必要になりますね。
その他に、Event-loop を作るための大きな switch() を、Class にできると思うし、
パネルもウインドウと同様にいけると思います。
ただし、メニューは、いまの BTRON1 API だと、結構、Class に実装するのが難しそ
う。それと、Datebox に頼っている API が BTRON1 にはかなりありますが、この辺も
何とかしなくてはいけませんね。検討課題だと思います。

そういうことで。

でわでわ。