2014-03-29 3 views
0

это конструктор класса TXTArgon, который является подклассом Particule. «m_» является атрибутом класса Particule. Мне нужно указать m_ из TXTArgon по умолчанию со значением 18.0. Я получаю сообщение об ошибке: «class TXTArgon» не имеет поля с именем «m_». Но m_ находится в защищенном состоянии ...Конструкторы и наследование C++

TXTArgon::TXTArgon() 
: Particule(), 
    m_(18.0), 
    nom_("TXTAr") 
{ 
} 

Кто-нибудь видит, как я могу исправить этот код?

ответ

4

Вы можете инициализировать только m_ через конструктор Particule. Если Particule не подходящий конструктор, то, что вы можете сделать, это изменить его значение после его инициализации:

TXTArgon::TXTArgon() 
: Particule(), 
    nom_("TXTAr") 
{ 
    m_ = 18.0; // or m_ = TheTypeOfM_(18.0) 
} 
+0

или передать его в конструкторе частицы в качестве аргумента. –

Смежные вопросы