У меня есть базовый класс и дочерний класс, производный от него. В своем конструкторе базового класса я создаю объект дочернего класса. Я не получаю ошибок, но вижу, что дочерний класс не видит данные из базового класса. Использование переменных базового класса в дочернем классе не приводит к ошибкам, но данные пустые. Неправильно ли я создал объект дочернего класса в моем базовом классе?
Редактировать: Вот мой базовый класс (без функций-членов):
class Well
{
public:
vector<double> vOilProd;
vector<double> vGasProd;
vector<double> vNGLProd;
double dCurrent_Oil_Cum;
double dCurrent_Gas_Cum;
double dPrior_Oil;
double dPrior_Gas;
string bsCurrent_Phase;
string bsMajor_Phase;
int iLife_Major_Phase;
int iCum_Time;
int iCount;
}
Вот мой производный класс Dataline:
class DataLine : public Well
{
private:
vector<double> vProd;
vector<string> vWords;
string bsSection;
string bsExpression;
string bsPhaseName;
string bsKeyword;
string bsRi;
string bsRf;
string bsUnits;
string bsLimit1;
string bsLimit2;
string bsDe;
string bsDeType;
string bsLimitType;
string bsSolve;
int iDelay;
int iTimeLimit;
int iLifeInMonths;
int iStartMonth;
int iEndMonth;
}
В моем конструкторе Well все строки заданы, никаких проблем. В конструкторе Well я делаю это:
DataLine aLine(bsTemp1, bsTemp2);
В первой строке конструктора Dataline я проверяю строковые переменные из класса Well, но они пустые, а те, которые являются числами, заканчиваютсяместо.
Я знаю, этот код не очень помогает, я не получаю ошибок. Поступают ли данные базового класса в производный класс, если производный класс создается в базовом классе?