Cтраница 2
Перед очисткой буфера функция OnPaste вызывает функцию Detach, чтобы удалить дескриптор растрового изображения из объекта BitmapClip. В этом случае, как и в рассмотренном ранее, деструктор класса CBitmap не может уничтожить растровое изображение, хранящееся в буфере. После вызова функции Closedipboard дескриптор растрового изображения не используется. [16]
Как мы увидим, использование new и delete вместо malloc и free дает и другие преимущества. В частности, new автоматически активизирует конструктор, a delete автоматически активизирует деструктор класса. [17]
Как мы увидим, использование new и delete вместо malloc и free имеет также и другие преимущества. В частности, операция new автоматически вызывает конструктор, a delete автоматически вызывает деструктор класса. [18]
В главе 16 мы обсудим динамическое распределение памяти для объектов классов. Мы увидим, что операции new и delete выполняют и другие задачи ( например, автоматически вызывают конструкторы и деструктор класса), что делает использование операций new и delete более мощным и более надежным, чем вызов функций malloc и free. [19]
![]() |
Чтение и печать последовательного файла. [20] |
После первого выполнения этого оператора переменная account имеет значение 100, переменная name имеет значение JONES, а переменная balance - значение 24.98. Всякий раз, когда выполняется приведенный оператор, в переменные account, name и balance считывается следующая запись из файла. Записи выводятся на экран с помощью функции outputLine, которая использует параметризованные манипуляторы потока для форматирования данных, изображаемых на экране. Когда достигается конец файла, входная последовательность в операторе while возвращает 0 ( а обычно возвращается поток inClientFile), файл закрывается с помощью деструктора класса ifstream и программа завершается. [21]