Ну, вы также можете инициализировать запись vtable, чтобы она указывала на фактическую функцию "
virtual void fun()
{
//dostuff()
}
Кажется интуитивно понятным, что запись vtable может быть либо определена, чтобы указывать ни на что (0), или на функцию. Если вы укажете свое собственное значение, оно, вероятно, приведет к тому, что оно будет указывать на мусор, а не на функцию. Но именно поэтому «= 0» разрешено, а «= 1» - нет. Я подозреваю, что Нил Баттерворт прав, почему "= 0" используется вообще