意外と知らない書き方

class Foo;

クラスの宣言。定義はまた別に。ヘッダファイルなんかで、Foo の構造とかメンバ関数とかの情報が特に必要ない場合に利用する。

class Foo foo;

変数宣言に class をつけることも出来る。まぁ、struct と同じ。

int foo(void), *bar(int);

複数の関数を一度にプロトタイプ宣言。

int (&func)(int) = abs; 

関数ポインタならぬ、関数参照。ポインタではなく、参照で宣言するメリットとかとくにない。