から継承するクラスAと2つのクラスとがBあります。CA
のメソッドとは別に、各クラスは異なるものを提供するため、インライン関数を備えたテンプレートであるため、2つの異なるファイルにA入れたいと思います。b.hppc.hpp
とクラスUserの両方を使用するクラスもあります。では、次のようなものが必要です。BCuser.cpp
# include "b.hpp"
# include "c.hpp"
class User{
...;
};
Bこれは、私が両方のクラスとCに保持しているものに対して、コンパイラの再定義エラーを発生させbc.hppます。
ここでの懸念は、プログラミングエラー以外はかなり美的です。小さなアプリケーションでディレクティブを使用すると、あまりエレガントifdef / ifndefではありません。モジュールを管理しすぎている人や、モジュールを認識していない人にとっては、IDEのソリューションのように見えます。ディレクティブ。
これに対する回避策はありますか(非標準ですが、少なくとも正常です)、または同じファイルに2つの異なるクラスがあり、を使用することに固執する必要がありますifdef / ifndefか?