>>663
概ね正解(*foo_tの宣言時にfooって居なくていいんだっけ?)。
けど、言語処理系のサポートがあれば、もっと簡潔かつ柔軟に記述できる。

例えば、この場合はfoo-private.hを他のプログラマに渡すか渡さないかで制御しているわけだが、
オブジェクト指向言語なら、一つのクラス/オブジェクトに全てを記述できるので見通しが良くなるし、
protectedみたいな芸当もできる。