История изменений
Исправление Kroz, (текущая версия) :
Как это понять?
Это понимать так, что в классе Fish объявляется «чисто виртуальная функция», без имплементации. Поэтому экземпляр класса Fish ты создать не можешь. Класс, который содержит хотябы одну такую функцию (и экземпляр которого ты не моешь создать), называется абстрактным. Зачем это делается? Чтобы рассказать, что все наследники класса Fish должны иметь эту функцию, и да, там она должна иметь имплементацию (ну, если только ты не хочешь создать еще один абстрактный класс).
Функции присваивается ноль?
Эта штука существует только для виртуальных функций-членов класса (что вполне логично). Виртуальная функция - это на самом деле указатель на функцию. То есть считай, что это ты указателю присваиваешь ноль aka NULL (Если не писать «=0» после виртуальной функции - обычная виртуальная функция, - то указателю присваивается адрес функции)
Исправление Kroz, :
Как это понять?
Это понимать так, что в классе Fish объявляется «чисто виртуальная функция», без имплементации. Поэтому экземпляр класса Fish ты создать не можешь. Класс, который содержит хотябы одну такую функцию (и экземпляр которого ты не моешь создать), называется абстрактным. Зачем это делается? Чтобы рассказать, что все наследники класса Fish должны иметь эту функцию, и да, там она должна иметь имплементацию (ну, если только ты не хочешь создать еще один абстрактный класс).
Функции присваивается ноль?
Эта штука существует только для виртуальных функций-членов класса (что вполне логично). Виртуальная функция - это на самом деле указатель на функцию. То есть считай, что это ты указателю присваиваешь ноль aka NULL. Если не писать «=0» после виртуальной фуцнкции, то указателю присваивается адрес функции.
Исходная версия Kroz, :
Как это понять?
Это понимать так, что в классе Fish объявляется «чисто виртуальная функция», без имплементации. Поэтому экземпляр класса Fish ты создать не можешь. Класс, который содержит хотябы одну такую функцию (и экземпляр которого ты не моешь создать), называется абстрактным. Зачем это делается? Чтобы рассказать, что все наследники класса Fish должны иметь эту функцию, и да, там она должна иметь имплементацию (ну, если только ты не хочешь создать еще один абстрактный класс).
Функции присваивается ноль?
Эта штука существует только для виртуальных функций-членов класса (что вполне логично). Виртуальная функция - это на самом деле указатель на функцию. То есть считай, что это ты указателю присваиваешь ноль aka NULL.