しんちょく

form にタブのページの定義も組んで大きなクラスにしてたのを、タブのページを個別のクラスに分離する方式に変更。単純な構造にはなったが、 C++ の素敵な仕様に翻弄されて、楽しくない作業に。

  • C では他ファイルから呼び出す関数や struct はプロトタイプとしてヘッダファイルにして、呼び出す関数からも定義を共有することが出来る。このプロトタイプは扱いがめんどう。書くのはいいのだが直すのが面倒。
  • C# ではプロトタイプなんかいらない。
  • C++ でも単なる関数や C でも使える struct は C と同様なのだが、 class になると関数の実装以外をヘッダに書く必要がある。

C のコンパイル方式に追従しているので仕方ないのだが、 private なメンバの定義までヘッダにかかないとだめ。なので、無理にヘッダなしの class 定義に全て実装をねじ込む方式にしてみた。それでやってみたが、クラスを1,2個ばらしたりしたらどうやっても実装だけにねじ込むのが不可能なので、いやになってきた。まあわかってたんだけど、この状態を作らないように努力してきて、そのときが来てしまったという。

そうなると C と似た感じで namespace でくくって static 関数でやり通すって形になってしまう。

単純なテキストエディタだけでやせがまんせずにツールを探さないとだめだろう。