我不明白以下一行的作业。我认为, setBit 是一个函数,但它被分配了一个值。
bool setBit(const unsigned int which) = 0;
答案 0 :(得分:11)
这不是任务。它表示pure virtual function。具有一个或多个纯虚函数的类称为“抽象类”,不能单独实例化。派生类必须实现该函数,以避免成为抽象类本身。所以这里=0
的意思是,“我的派生类将提供这个功能”。
答案 1 :(得分:4)
这是一个虚拟功能。当你声明一个函数并将其赋值为0时,你正在创建一个没有实现的函数
当你继承这个类时,你可以为这个函数创建一个具体的实现
答案 2 :(得分:3)
我假设您在 bool 之前错过了 virtual 这个词。它是类中 abstract 函数的声明。在C ++中,抽象函数被称为纯虚拟函数,您可以通过在声明结尾处指定 = 0 来告诉编译器它是抽象的。