
- •Билет 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
- •I способ - Внутренние стили
- •II способ - Глобальные стили
- •III способ - Связанные или внешние стили
- •Билет 18. Html. Типы css
- •Билет 21. Билет 29.
- •Билет 22
- •Билет 30 Структуры в языке с
- •Билет 33 Библиотека qt. Создание приложений в qtCreator.
- •Билет № 34 Библиотека qt. Работа со строками.
- •Билет 35 Использование JavaScript при оформлении динамических html страниц
- •Билет 36 Использование объектной модели документа (dom) в JavaScript
- •Иерархия классов 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 ]; charcatalog[64]; };
|
Задание.frame
<!DOCTYPE HTML> <HTML> <HEAD> <TITLE>Документ с фреймами</TITLE> </HEAD> <FRAMESET rows="50%, 50%"> <FRAMESET cols="600, 70%"> <FRAME src="frame1.html"> <FRAME src="frame2.html"> </FRAMESET> <FRAMESET cols="600, 40%, 30%"> <FRAME src=" frame3.html"> <FRAME src="frame4.html"> <FRAME src="frame5.html"> </FRAMESET> </FRAMESET> </HTML> |
Задание10
<!DOCTYPE HTML> <HTML> <HEAD> <TITLE>Табличка</TITLE> </HEAD> <TABLE BORDER> <TR> <TD>table 1</TD> <td colspan=2>table 2</td> </TR> <TR> <TD>table 3</TD> <TD>table 4</TD> <TD>table 5</TD> </TR> </TABLE> </HTML>
|
Задание: НТМL. Вставить в один документ 2 таблицы и сделать на них гиперссылки
<html> <head > <title>HTML</title> </head> <body > <A NAME="таблица1"></A> <table > <tr>
|
<td >T1</td> </tr> <tr > <td >T2</td> <td >T3</td> <td>T5</td> </tr> <tr >
|
<td>T4</td> </tr> </table> <A NAME="таблица2"></A> <table > <tr> <td >T1</td> </tr>
|
<tr > <td >T2</td> <td >T3</td> <td>T5</td> </tr> <tr > <td>T4</td> </tr>
|
</table> <A HREF="#таблица1">ссылка на 1 таблицу</a> <A HREF="#таблица2">ссылка на 2 таблицу</a>
</body> </html>
|