Программирование >>  Дополнительные возможности наследования 

1 ... 58 59 60 [ 61 ] 62 63 64 ... 265


VDcBOu самостоятельно Неделя 2

Основные вопросы

Мы завершили первую неделю обучения и научились основным принципам и средствам профаммирования на С++. Для вас теперь не должно составлять труда написание и компиляция небольшой профаммы. Также вы должны четко представлять, что такое классы и объекты, составляющие основу объект-ориентированного профаммирования.

Что дальше

Вторую неделю начнем с изучения указателей. Указатели традиционно являются сложной темой для освоения начинающими профаммистами на С++. Но в этой книге вы найдете подробные и наглядные разъяснения того, что такое указатель и как он работает, поэтому, мы надеемся, что через день вы уже свободно будете владеть этим средством профаммирования. На занятии 9 вы познакомитесь со ссылками, которые являются близкими родственниками указателей. На занятии 10 вы узнаете как замещать функции, а занятие 11 будет посвящено наследованию и разъяснению фундаментальных принципов объект-ориентированного профаммирования. На занятии 12 вы узнаете как создавать структуры данных от простых массивов до связанных списков. Занятие 13 расширит ваши представления об объект-ориентированном профаммировании и познакомит с полиморфизмом, а занятие 14 завершит вторую неделю обучения рассмотрением статических функций и функций друзей класса.




Указатели

Возможность непосредственного доступа к памяти с помощью указателей - одно их наиболее мощных средств программирования на С++. Сегодня вы узнаете:

Что такое указатели

Как объявляются и используются указатели

Как работать с памятью

При работе с указателями программисты подчас сталкиваются с довольно специфическими проблемами, поскольку в некоторых ситуациях механизм работы указателей может оказаться весьма запутанным. Кроме того, в ряде случаев нельзя однозначно ответить на вопрос о необходимости применения указателей. На этом занятии последовательно, щаг за шагом, вы освоите основные принципы работы с указателями. Однако осознать всю мощь этих средств вы сможете, только прочитав книгу до конца.

Что такое указатель

Указатель - это переменная, в которой записан адрес ячейки памяти компьютера.

Чтобы понять, как работают указатели, необходимо хотя бы в общих чертах, ознакомиться с базовыми принципами организации машинной памяти. Машинная память состоит из последовательности пронумерованных ячеек. Значение каждой переменной хранится в отдельной ячейке памяти, которая называется ее адресом. На рис. 8.1 изображена структура размешения в памяти четырехбайтового целого значения переменной theAge.

Для разных компьютеров характерны различные правила адресации памяти, имеющие свои особенности. Однако в большинстве случаев программисту не обязательно знать точный адрес какой-либо переменной - эту задачу выполняет компьютер. При необходимости такую информацию можно получить с помощью оператора адреса (&). Пример использования этого оператора приведен в листинге 8.1.



Память theAge

1 1 t 1 1 1

1 1

1 1

10110101 11110110

01110110 11101110

1 1 1 1 1 1

1 1

1 1

100 101 102 103 104 105 106 107 108 109 110 111 112 113

каждая ячейка = 1 байт

unsigned long int theAge = 4 байт = 32 бита имя переменной theAge указывает на первый байт адрес переменной theAge = 10

Рис. 8.1. Сохранение в памяти переменной theAge

Аистииг 8.1. Оператор адреса

Листинг 8.1. Пример использования оператора адреса

#include <iostream.h>

int mainO {

unsigned short shortVar=5; unsigned long longVar=65535; long sVar = -65535;

cout shortVariX t shortVar; cout Address of shortVar:\ t ; cout &shortVar \ n ;

cout longVar;\ t << longVar; cout Address of longVar:\ f cout &longVar X n ;

cout sVar:\ t sVar; cout << Address of sVar:\ f cout &sVar Л n ;

return 0;

ShortVar: 5 Address of shortVar: 0x8fc9:fff4

longVar: 65535 Address of longVar: Ox8fc9:fff2

sVar: -65535 Address of sVar: 0x8fc9:ffee

(Ваши результаты могут отличаться от приведенных в листинге.)



1 ... 58 59 60 [ 61 ] 62 63 64 ... 265

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика