Вопросы с тегом «pure-virtual»

176
Чистая виртуальная функция с реализацией

Мое основное понимание состоит в том, что для чисто виртуальной функции нет реализации, однако мне сказали, что может быть реализация для чисто виртуальной функции. class A { public: virtual void f() = 0; }; void A::f() { cout<<"Test"<<endl; } Код выше ОК? Какова цель сделать его чисто...

154
Зачем нам нужен чистый виртуальный деструктор в C ++?

Я понимаю необходимость виртуального деструктора. Но зачем нам чистый виртуальный деструктор? В одной из статей C ++ автор упомянул, что мы используем чистый виртуальный деструктор, когда хотим сделать класс абстрактным. Но мы можем сделать класс абстрактным, сделав любую функцию-член чисто...

147
Почему чисто виртуальная функция инициализируется 0?

Мы всегда объявляем чисто виртуальную функцию как: virtual void fun () = 0 ; Т.е. оно всегда присваивается 0. Что я понимаю, так это то, что это инициализирует запись vtable для этой функции в NULL, и любое другое значение здесь приводит к ошибке времени компиляции. Это понимание правильно или...

106
Откуда берутся сбои «вызова чисто виртуальной функции»?

Я иногда замечаю программы, которые вылетают на моем компьютере с ошибкой: «вызов чистой виртуальной функции». Как эти программы вообще компилируются, если объект не может быть создан из абстрактного...

82
Преимущества чистой функции

Сегодня читал про чистую функцию, запутался в ее использовании: Функция называется чистой, если она возвращает тот же набор значений для одного и того же набора входных данных и не имеет никаких наблюдаемых побочных эффектов. например strlen(), это чистая функция, а rand()нечистая. __attribute__...