Цитата:
Цитата:
|
Цитата:
С одной стороны здорово, что есть STL, с другой стороны, многие могут пользоваться ей, но не знать как она внутри устроена для более точного её использования. Пишите свой софт, да прибудет с Вами радость творения! Удачи коллеги! P.S. Чтобы самому написать?! Вот в чем вопрос! |
[quot
|
Цитата:
Я так и начал изучать программирование - мне не понравился калькулятор встроенный в Windows, когда я много вычислений делал. Качал аналоги, но "тут не то, тут не это", кнопки маленькие и т.п., в результате написал для себя калькулятор, размером с половину экрана для удобства. |
[quot
|
****
|
Цитата:
Если попробуете переносить код с платформы на платформу - будет масса нюансов. Цитата:
|
[quotфизм.
|
Цитата:
С*с = new C (); A*a = c; a->hgj(); // Напечатает "class C" B*b = c; b->hgj(); // Напечатает "class C" Это оно и есть полиморфизм. Если в классе есть виртуальные функции, значит должен быть виртуальный деструктор. Если это не сделать будут проблемы с утечками памяти при работе new и delete с указателями. С*с = new C (); A*a = c; B*b = c; delete b; // Получится memory leak без virtual ~B - не будет вызываться ~C !!!! // И все ОК при virtual ~B - ~C вызывается Посмотрите вывод программы P.S. Хотя в вашем примере вызов деструкторов будет правильный, так как ~A уже виртуальный. А вот если вообще убрать virtual у ~, тогда будут утечки памяти. |
[quot
|
о
|
| Часовой пояс GMT +3, время: 07:49. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot