Запитання з тегом «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; } int main() …
82 c  pure-virtual 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.