![]() 177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
||||||
1 | ||||||
Protected abstract virtual base pure virtual private destructor07.04.2015, 10:58. Показов 2250. Ответов 9
Метки нет Все метки)
(
Хай, all)
Вопрос не для начинающих и дурацкий) В разделе для экспертов публиковать не стал, чтобы не засорять его) Наткнулся тут на веселую штуку: If you think C++ is not overly complicated, just what is a «protected abstract virtual base pure virtual private destructor», and when was the last time you needed one? – Tom Cargill (1990) По-русски (надеюсь, нормально на русский перевел): Если вы не считаете C++ излишне сложным, скажите, что такое «закрытый чисто виртуальный деструктор защищенного абстрактного виртуального базового класса», и когда последний раз вы нуждались в нем? – Том Каргилл (1990) Вот это вот так выглядит:
1
|
|
07.04.2015, 10:58 | |
Ответы с готовыми решениями:
9
R6025 pure virtual function call Pure virtual function call (не видит переопределенный метод)
|
В астрале
![]() 8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
07.04.2015, 11:21 | 2 | |||||
ITcrusader, Этот же вопрос на стеке: http://stackoverflow.com/quest... destructor
Добавлено через 7 минут Наверное единственный вариант который можно предложить сходу:
1
|
07.04.2015, 12:08 | 3 | |||||
Это похоже (не похоже, а так и есть
![]() Постарался придумать пример
1. Мы не можем создать объект Base 2. Мы не можем унаследоваться от Base если явно не указали этого в самом Base 3. Мы корректно очищаем ptr (т.е. не получаем "double free or corruption (fasttop)" в рантайме) 4. Может еще что-то, не могу придумать Вобщем-то тоже самое можно сделать по-другому, более понятно)
0
|
Неэпический
|
||||||
07.04.2015, 13:22 | 4 | |||||
Я об этом же хотел написать, но вот что меня напрягло.
При этом, если оставить комментарии, то нормально компилируется: vc++ http://rextester.com/VNUC49025 gcc 4.9.2 http://ideone.com/hbq90L gcc 4.3.2 http://ideone.com/dNdPze Но с теми же комментариями в rextester с gcc ошибка: gcc 4.8.2 http://rextester.com/JGCRP29800 Без опции -std=c++11 компилируется нормально http://rextester.com/EWRU92846 Но в 1990 году о C++11 еще не мечтали... Что Я Делаю Не Так? Может что напутал с просонья...
0
|
Неэпический
|
||||||
07.04.2015, 13:37 | 6 | |||||
а, нет, если убрать комментарий
http://rextester.com/DRM84562 а gcc - нет: http://rextester.com/JFK38517
0
|
Kastaneda
|
07.04.2015, 13:49
#9
|
0
|
В астрале
![]() 8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
07.04.2015, 14:40 | 10 |
Не должно это по идее компилироваться, ибо:
0
|
07.04.2015, 14:40 | |
Помогаю со студенческими работами здесь
10
Pure virtual method called - deleteLater Что означает ошибка pure virtual function call в NFS? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |