2010-11-23 5 views
5

Можно создать дубликат:
Why pure virtual function is initialized by 0?Что означает «= 0» в C++?

Привет всем ..

Во-первых, я знаю, что вы объявляете чистый виртуальный метод, как это в C++:

virtual void myMethod() = 0; 

.. но, поскольку я не мог спать прошлой ночью, мой ботаник d подумал, имеет ли «= 0» -part какой-либо смысловой смысл, или если «просто» там можно объявить чисто виртуальные методы.

Есть ли другие места, где используется эта конструкция?
(И нет - int v = 0; не учитывается: P)

+3

Дубликат [Почему чистая виртуальная функция инициализируется 0?] (http://stackoverflow.com/questions/2156634/why-pure- виртуальная функция-это-я nitialized-by-0) – ypnos 2010-11-23 09:46:26

+1

Ницца найти. SO действительно нуждается в лучшей функции поиска (или мне нужно быть лучше с ней :) :) – cwap 2010-11-23 09:47:43

ответ

0

Это означает, что метод является чисто виртуальным. Таким образом, подтипы должны реализовывать его. Кроме того, здесь нет реализации, а класс не реален.

3

Это виртуальный чистый метод.

Это означает, что:

  • мы не обеспечивают реализацию (есть способ обеспечить один, но это не полезно)
  • мы хотим, чтобы дочерний класс для реализации этого метода
  • мы сделать этот класс невозможным для создания экземпляра: только полностью реализованный дочерний класс может быть
Смежные вопросы