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


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


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

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

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

6
Преимущества чистой функции
Сегодня читал про чистую функцию, запутался в ее использовании: Функция называется чистой, если она возвращает тот же набор значений для одного и того же набора входных данных и не имеет никаких наблюдаемых побочных эффектов. например strlen(), это чистая функция, а rand()нечистая. __attribute__ ((pure)) int fun(int i) { return i*i; } …
82 c  pure-virtual 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.