что означает этот знак назначения - PullRequest
1 голос
/ 23 октября 2010

Я не понимаю назначение в следующей строке.я думаю, setBit является функцией, но ей присвоено значение.

bool setBit(const unsigned int which) = 0;

Ответы [ 3 ]

11 голосов
/ 23 октября 2010

Это не задание.Это указывает на чисто виртуальную функцию .Класс с одной или несколькими чисто виртуальными функциями называется «абстрактным классом» и не может быть создан самостоятельно.Производные классы должны реализовать функцию, чтобы самим не быть абстрактными классами.Таким образом, значение =0 здесь: «мои производные классы будут обеспечивать эту функцию».

4 голосов
/ 23 октября 2010

Это виртуальная функция.когда вы объявляете функцию и присваиваете ей 0, вы создаете функцию без реализации

Когда вы наследуете этот класс, вы можете создать конкретную реализацию для этой функции

3 голосов
/ 23 октября 2010

Я предполагаю, что вы пропустили слово virtual до bool . Это объявление абстрактной функции в классе. В C ++ абстрактные функции называются чисто виртуальными функциями, и вы сообщаете компилятору, что он абстрактный, указав = 0 в конце объявления.

...