
- •Билет 1. Билет 7
- •Билет 2. Билет 8.
- •Билет 3. Билет 9. Билет 23.
- •Билет 4. Билет 10. Билет 24
- •Билет 5. Билет 11. Билет 27
- •Билет 6. Билет 12. Билет 28
- •Билет 13! Билет 19. Билет 31. Html. Структура документа, физическое и логическое форматирование, оформление абзацев и списков
- •Билет 14. Билет 20. Билет 32. Html. Рисунки и гиперссылки
- •Билет 15. Билет 25. Html. Использование и оформление таблиц
- •Билет 16. Билет 26. Html. Разбиение окна на фреймы
- •Билет 17. Html. Оформление документов с использованием css
- •Билет 18. Html. Типы css
- •Билет 21. Билет 29.
- •Билет 22
- •Билет 30 Структуры в языке с
- •Билет 33 Библиотека qt. Создание приложений в qt Creator.
- •Билет № 34 Библиотека qt. Работа со строками.
- •Билет 35 Использование JavaScript при оформлении динамических html страниц
- •Билет 36 Использование объектной модели документа (dom) в Java Script
- •Иерархия классов dom
- •Билет 37 Формы и их использование в JavaScript
- •Билет № 38 Объектная модель браузера и ее использование в JavaScript
Билет 4. Билет 10. Билет 24
Дружественные функции в С++
Для описания функции (функции-члена) дружественной тому или иному классу, необходимо в описании этого класса объявить дружественную функцию, используя ключевое слово friend. Причем, обратите внимание, не играет никакой роли в каком из разделов класса Вы разместите объявление дружественной функции.
Согласитесь, небольшие нарушения ограничения доступа могут быть весьма полезны, если их использовать с достаточной осторожностью. Словосочетание "с достаточной осторожностью" обозначает, что функция или класс, пользующиеся привилегиями доступа должны быть очень тесно связаны с тем классом, который наделил их этими привилегиями. Главной целью использования дружественных функций и классов является повышение эффективности программы. Дружественные функции и классы могут осуществлять прямой доступ к закрытым полям объекта без использования функций-членов этого класса.
К друзьям и дружественности применимы следующие правила:
• на описания friend не влияют спецификаторы public,
protected или private;
• описания friend не взаимны: если А объявляет В другом, то это не означает, что А является другом для В;
• дружественность не наследуется: если А объявляет В другом, классы, производные от В, не будут автоматически получать доступ к элементам А;
• дружественность не является переходным свойством: если А объявляет В другом, классы, производные от А, не будут автоматически признавать дружественность В.
Обычное объявление функции-члена гарантирует три логически разные вещи:
• во-первых, функция имеет право доступа к закрытой части объявления класса;
• во-вторых, функция находится в области видимости класса;
• в-третьих, функция должна вызываться для объекта класса, то есть имеется указатель this,
Объявив функцию-член как static, мы придаем ей только первые два свойства. Объявив функцию как friend, мы наделяем ее только первым свойством.
Так же как и функции-члены, функции-друзья явно указываются в объявлении класса, друзьями которого они являются. Поэтому они в той же мере являются частью интерфейса класса, в какой ею являются функции-члены.
Так же как и объявление члена, объявление friend не добавляет новое имя в охватывающую область видимости.
Описание класса A class A { //... void z(); };
Описание класса B class B { //... friend void A::z(); }; |
class book { public: book(char *, char *, char *); void show_book(void); friend char *librarian::get_catalog(book); friend void librarian: :change_catalog( book *, char *); private: char title[64]; char author[ 64 ]; char catalog[64]; };
|
Задание.frame
<HTML> <HEAD> <TITLE>4 билет</TITLE> </HEAD> <FRAMESET cols="20%,80%"> <FRAMESET rows="40%, 60%"> <FRAME> <FRAME> </FRAMESET> <FRAMESET rows="40%, 60%"> <FRAME> <FRAMESET cols="55%, 45%"> <FRAME> <FRAME> </FRAMESET> </FRAMESET> </FRAMESET> </HTML> |
Задание 10
<HTML> <HEAD> <TITLE>10 билет</TITLE> </HEAD> <BODY> <TABLE width=30% BORDER="1" CELLSPACING="0" CELLPADDING="40%"> <TR> <TD></TD> <TD COLSPAN="2"></TD> </TR> <TR> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> </BODY> </HTML> |
Задание: НТМL. Вставить в один документ 2 таблицы и сделать на них гиперссылки <HTML> <HEAD> <TITLE>24 билет</TITLE> </HEAD> <BODY> <a href = #table1>Ссылка на первую таблицу</a> <br> <a href = #table2>Ссылка на вторую таблицу</a> <br> <a name=table1><TABLE width=30% BORDER="1" CELLSPACING="0" CELLPADDING="100%"></a> <TR> <TD></TD> <TD></TD> </TR> <TR> <TD></TD> <TD></TD> </TR> </TABLE> <br> <a name=table2><TABLE width=30% BORDER="1" CELLSPACING="0" CELLPADDING="100%"></a> <TR> <TD></TD> <TD></TD> <TD></TD> </TR> <TR> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE> </BODY> </HTML>
|