Я не понимаю назначение в следующей строке.я думаю, setBit является функцией, но ей присвоено значение.
bool setBit(const unsigned int which) = 0;
Это не задание.Это указывает на чисто виртуальную функцию .Класс с одной или несколькими чисто виртуальными функциями называется «абстрактным классом» и не может быть создан самостоятельно.Производные классы должны реализовать функцию, чтобы самим не быть абстрактными классами.Таким образом, значение =0 здесь: «мои производные классы будут обеспечивать эту функцию».
=0
Это виртуальная функция.когда вы объявляете функцию и присваиваете ей 0, вы создаете функцию без реализации
Когда вы наследуете этот класс, вы можете создать конкретную реализацию для этой функции
Я предполагаю, что вы пропустили слово virtual до bool . Это объявление абстрактной функции в классе. В C ++ абстрактные функции называются чисто виртуальными функциями, и вы сообщаете компилятору, что он абстрактный, указав = 0 в конце объявления.