我在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
只需要持有來自組中的一個類的m_x, m_y
變量,以便進一步處理/計算/等,是否有另一種方法呢?我希望我能夠清楚這一點。
這聽起來像你需要一個工廠功能。 – NathanOliver
而且,首先是一個持有'm_x'和'm_y'的基本公共超類。 – Petr