Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] вопрос про деструктор


Автор: edzie 17.2.2010, 15:17
Здравствуйте 
скажите пожалуйста ответ на 2 вопроса 
1. где и для чего применяются деструкторы в языке С++?

2. Где и для чего применяется функция friend?
заранее спасибо )

Автор: stat007 17.2.2010, 20:00
Неужели а интернете и в книжках мало определений по этим вопросам smile 

Автор: Oik741 17.2.2010, 22:23
1)Деструктор - функция класса которая отрабатывает определенный тобою код по завершению программы, тоесть освобождение памяти и т.д.

2)
Цитата
Иногда удобно разрешить некоторым функциям доступ к закрытым членам класса. Механизм друзей позволяет классу разрешать доступ к своим неоткрытым членам.

Объявление друга начинается с ключевого слова friend и может встречаться только внутри определения класса. Так как друзья не являются членами класса, то не имеет значения, в какой секции они объявлены. В примере ниже мы сгруппировали все подобные объявления сразу после заголовка класса:

Код

class Screen {
   friend istream&
      operator>>( istream&, Screen& );
   friend ostream&
      operator<<( ostream&, const Screen& );
public:
   // ... оставшаяся часть класса Screen
};


Операторы ввода и вывода теперь могут напрямую обращаться к закрытым членам класса Screen. Простая реализация оператора вывода выглядит следующим образом:

Код

#include 
ostream& operator<<( ostream& os, const Screen& s )
{
   // правильно: можно обращаться к _height, _width и _screen
   os << "<" << s._height
      << "," << s._width << ">";
   os << s._screen;

   return os;
}



stat007, зачем что-то отвечать если ты не собираешься помочь ему?)
так как сам только недавно изучаю Си++ могу ошибаться =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)