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