以下のインライン展開について煮詰まっております。
宜しければ皆様のお知恵を拝借させて下さい。

class A {
protected: virtual void hage() = 0;
public: void hoge() { for( int i = 0; i < 10000000; ++i ) hage(); };
};

class B : public A {
protected: virtual hage() { ::GlobalCount++; };
};

B::hage() は Java でいう final でして A::hoge() の内部で B::hage() を
インライン展開する B::hoge() を実装しようと模索しております。
しかしながら A::hage() は virtual なため関数呼び出しになってしまい、
今一つうまくいっておりません。

B::hoge() { for( int i = 0; ... ) ::GlobalCount++; }
こんな感じで自動的に展開されると嬉しいのですが…。
良い解決法をご存知の方、どうかご教示お願いいたします。