近況とoverrideとアクセス指定
1ヶ月サボってしまった。
正しく言うならサボっていたわけではなくて、年末年始で色々あった。
とりあえず色々あったことをまとめてみる。
まず、早稲田大学のサークルである「早稲田コンピュータエンタテインメント」さんが主催する、10時間GameJamに参加させていただいた。
GameJam系のイベントはGlobalGameJamなどが有名だが、今回参加した10時間GameJamはチーム制作ではなく、個人で10時間以内にゲームを作るイベントである。
今回が第1回だったようだが、18人の方々が参加し、スポンサーに企業までついており、非常にしっかりした印象を受けた。
また、イベントの最後には作品投票もあり、そこで1位という嬉しい結果をいただくことができた。
作品の配布ページはこの記事を書いている時点では準備中だが、そのうちサイト上で参加者それぞれの作品が配布されるらしい。
また近いうちに第2回も開催されるようなので、そちらにも是非参加したい。
次に、大学内のサークル同士で合同LT会を行った。
飛び入り含めて発表者は13人で、様々なテーマのトークが飛び交い、楽しい交流の場となった。
その時の発表スライドがこれ。
今週火曜に合同作品発表会があるので、そちらの様子も見て2回目以降も開催できたらいいなと思ってる。
あとはおまけ程度のプログラミング。
Javaではprivate
に指定したメソッドを派生クラスでoverrideしようとすると怒られるらしい。
また、public
やprotected
指定のメソッドをprivate
でoverrideするなど、アクセス制限を厳しくするとこれも怒られる。
これがC++ではどちらも許されている。
#include <iostream> using namespace std; class Parent { public: void func() { privateFunc(); } private: // privateの仮想関数 virtual void privateFunc() { cout << "Parent" << endl; } }; class Child : public Parent { private: // privateの仮想関数をoverrideする void privateFunc() override { cout << "Child" << endl; } }; int main() { Child child; Parent &parent = child; // "Child" が出力される parent.func(); }
便利そうに見えて上手い使い方が思いつかないし、C#ではJavaより制限が厳しくなってるし、おそらく有効活用するときは来ないだろう。