c++ - 构造函数和继承 C++

标签 c++ inheritance constructor

这是 TXTArgon 类的构造函数,它是 Particule 的子类。 “m_”是类 Particule 的一个属性。我需要将 TXTArgon 的 m_ 指定为默认值 18.0。 我收到一个错误:“类‘TXTArgon’没有任何名为‘m_’的字段”。但是 m_ 处于 protected 状态...

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

有人知道如何更正此代码吗?

最佳答案

您只能通过Particule 的构造函数来初始化m_。如果 Particule 没有合适的构造函数,那么您可以做的是在初始化之后更改它的值:

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

关于c++ - 构造函数和继承 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22732563/

相关文章:

c++ - std::optional 的运算符重载不明确?

C#泛型继承

java - 实例化第二个类,java会等到第二个类的构造函数完成,然后移动到下一行代码吗?

c++ - 没有默认构造函数的对象数组初始化

c++ - 以下代码的作用是什么? C++

c++ - 包含不透明文本和按钮的透明窗口

c++ - 对象仍在范围内时调用 Arduino 类析构函数

Python:确保所有子类方法返回相同的内容

JavaScript 继承

C++ 重载构造函数问题