>>85
C++では暗黙のthisがメソッドの第0引数として渡されます。
これを明示的に渡しているのです。
これによって
this->suicide(that)
というように別人がthisポインタに成りすますような
高度に柔軟なコードを記述することができます。

>>86
struct Creature{
void(*Eat)(struct Creature*, Food food);
} Creature;
とやってEatポインタに任意の関数を割り当てます。
これによりメソッド単位の多態を実現できます。
例:
/* サルのように喰い、豹のように走る人 */
man->Eat = ape_Eat;
man->Run = panther_Run

このようにOOPLとしてのCは非常に強力です。
しかし、あまりに高度であるため使いこなせる人材は少数です。
理解の浅いまま使うと破綻することは目に見えているため、
より制約の多い言語であるC++を使う人が多いのです。