C++如何在抽象类中为成员变量赋予默认值?

Rod*_*ick 0 c++ abstract-class default-value

在标题中,我正在定义bool isActive.在从这个派生的类中,我想默认使isActive为false.我尝试通过添加来做到这一点

AbstractClass::isActive = false; 
Run Code Online (Sandbox Code Playgroud)

到cpp文件,但这会导致错误"预期的构造函数,析构函数或'='标记之前的类型转换."

sth*_*sth 9

在类的构造函数中初始化它:

class AbstractClass {
   bool isActive;

   AbstractClass() : isActive(false) {
   }

   // ...
};
Run Code Online (Sandbox Code Playgroud)

该类包含抽象方法并不会阻止它具有用于初始化其成员变量的构造函数.

  • 如果有多个ctor,请确保在所有ctor中设置它. (2认同)