意外と知らない書き方
class Foo;
クラスの宣言。定義はまた別に。ヘッダファイルなんかで、Foo の構造とかメンバ関数とかの情報が特に必要ない場合に利用する。
class Foo foo;
変数宣言に class をつけることも出来る。まぁ、struct と同じ。
int foo(void), *bar(int);
複数の関数を一度にプロトタイプ宣言。
int (&func)(int) = abs;
関数ポインタならぬ、関数参照。ポインタではなく、参照で宣言するメリットとかとくにない。