2014-03-29 141 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

或者將它傳遞給粒子的構造函數作爲參數。 –