C++では高度ではありません。 A
から同じタイプのコンストラクタを使用する(時間が経つにつれて大きくなる)クラスのグループがあるとします。それはこのようになりますと仮定します。C++別のクラスの中で、同じコンストラクターを持つクラスのグループのクラス型変数をインスタンス化します。
class A
{
private:
double m_x, m_y;
public:
A(const double &x, double &y, const short &n) { ... };
};
これらの各クラスは、同じm_x, m_y
変数を持っているが、彼らは異なり、それを計算します。今、別のクラスがあります、クラスの前のグループからのコンストラクタを使用する必要があるBla
を、言って、このような何か:
class Bla
{
private:
Class m_class;
public:
Bla(const double &x, const double &y, const double &z, const short &i)
{
switch (i)
{
case 1: m_class = A::A(...); break;
case 2: m_class = B::B(...); break;
...
}
}
};
コンストラクタでswitch (i)
はi
に応じてグループのコンストラクタのいずれかを選択します。 Bla
内のClass m_class
変数をコンストラクタ内のswitch (i)
と一貫性を持たせるにはどうすればよいですか?どんなタイプの変数を選ぶべきですか?
また、m_class
は、グループ内のクラスの1つから来る変数を保持する必要があります。これは別の処理/計算などです。私はこれについて明確に管理することを願っています。
工場機能が必要なようです。 – NathanOliver
まず、 'm_x'と' m_y'を保持する基本共通スーパークラスです。 – Petr