Как стать автором
Обновить

C++ и дружба

Время на прочтение1 мин
Количество просмотров1.8K
Открыл для себя забавный факт: оказывается, у классов в C++ могут быть воображаемые друзья. Пример:

class Fred { <br>
    friend class Joe; <br>
public: <br>
    void dance() { <br>
        //какой-то код <br>
    } <br>
}; <br>
<br>
int main() { <br>
    Fred guy; <br>
    guy.dance(); <br>
    return 0; <br>
} <br>
//конец программы <br>


Заметьте, что в программе нет объявления класса Joe, однако программа компилируется без ошибок (и без предупреждений). То есть Джо не существует, его можно назвать воображаемым другом Фреда. Такое возможно, поскольку отношение дружбы влияет только на компиляцию класса, который объявлен другом. А класс, объявивший кого-то своим другом, будет скомпилирован одинаково независимо от того, что представляют собой его друзья и существуют ли они.
Теги:
Хабы:
Всего голосов 29: ↑19 и ↓10+9
Комментарии10

Публикации

Ближайшие события