2014-03-29 34 views
0

这是TXTArgon类的构造函数,它是Particule的子类。 “m_”是Particule类的一个属性。我需要指定值为18.0的TXTArgon默认值的m_。 我收到一个错误:“class'TXTArgon'没有任何名为'm_'的字段”。但m_被保护...构造函数和继承C++

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

有没有人看到我该如何纠正这段代码?

回答

4

您只能通过Particule的构造函数初始化m_。如果Particule没有一个合适的构造函数,那么你可以做的是改变其值已经初始化

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

或者将它传递给粒子的构造函数作为参数。 –