Чтение онлайн

на главную - закладки

Жанры

Интернет-журнал "Домашняя лаборатория", 2007 №10
Шрифт:

Пример 14

В объектно-ориентированном программировании существует такое понятие как механизм сокрытия данных. Давайте возьмем случай когда вы покупаете магнитофон, то вам доступны только те его части которые необходимы для работы с ним (кнопочки, экранчики и т. д.), такие части как провода, магнитные головки и т. д. вам не доступны. В структурах и классах (позже мы узнаем что это такое) сокрытие данных осуществляется с помощью ключевых слов public (открытый), private (закрытый) и protected (защищенный).

Закрытые члены в программе недоступны, а открытые наоборот доступны. Внутри структуры после ключевого слова private, все члены ограничены доступом. Закрытыми членами могут пользоваться только функции-члены этой структуры. Открытые члены могут использоваться и вне структуры.

Напишем структуру, характеризующую квартиру. В ней будут такие члены как number (номер квартиры), count_room (количество комнат), floor (этаж), area (площадь), price (цена), status (приватизирована или нет), эти члены мы сделаем закрытыми, а для доступа к ним напишем функции.

struct kwart

{

public:

int GetNumber;

int GetCountRoom ;

int GetFloor;

int GetArea;

int GetPrice;

bool GetStatus;

void SetNumber(int);

void SetCountRoom(int);

void SetFloor(int);

void SetArea(int);

void SetPrice(int);

void SetStatus(bool);

private:

int number;

int count_room;

int floor;

int area;

int price;

bool status;

};

int kwart::GetNumber

{

return number;

}

int kwart::GetCountRoom

{

return count_room;

}

int kwart::GetFloor

{

return floor; int kwart::GetArea

{

return area; int kwart::GetPrice

{

return price;

}

bool kwart::GetStatus

{

return status;

}

void kwart::SetNumber(int num)

{

number = num;

void kwart::SetCountRoom(int count)

}

count_room = count;

}

void kwart::SetFloor(int num)

{

floor = num;

}

void kwart::SetArea(int num)

{

area = num;

void kwart::SetPrice(int num)

{

price = num;

}

void kwart::SetStatus(bool stat)

{

status = stat;

}

Теперь если мы напишем:

kwart kw;

int i = kw.area;

это будет ошибкой, так как переменная area — закрытая, если мы хотим присвоить переменной i ее значение, то нужно воспользоваться функцией GetArea:

kwart kw;

kw.SetArea(20);

int i = kw.GetArea;

А вот в этом фрагменте уже все правильно. Сначала мы переменной area с по мощью функции SetArea присваиваем значение 20, а потом переменной i присваиваем значение area.

ПОКА ВСЕ.

СПРАВОЧНИК

Команды DOS

От редакции: Нет, это не устарело. Команды DOS по-прежнему входят во все операционные системы Microsoft. Время от времени их приходится

использовать, иногда по необходимости, иногда в целях удобства. Но дело не в этом. Дело в том, что компьютеры морально стареют. Сегодня трудно найти человека, работающего на IBM-XT или на продвинутом IBM-АТ. Тогда как для целей автоматизации эксперимента, в рамках домашней лаборатории (если вы, конечно, не автоматизируете ТОКАМАК), они подходят как нельзя лучше. Эти компьютеры уже фактически бесплатны, потребляют минимум электроэнергии, надежны (ненадежные уже покоятся на свалке) и могут быть использованы вместо микроконтроллеров. Для работы они зачастую даже не нуждаются в жестком диске, достаточно одной-двух дискеток. Двадцать лет назад они использовались для управления достаточно сложными установками и производствами. И до сих пор работают в этом качестве. Более того, ответственную установку лучше не доверять быстродействующему, а значит и сильно усложненному компьютеру, с процессором, который в любой момент может полететь, из-за выхода из строя китайского вентилятора. И уж работающему под WindowsXP, тем более. Ну, а общение с IBM-XT, как вы, наверное, помните, осуществлялось как раз с помощью команд операционной системы DOS.

Команда APPEND

Позволяет программам открывать файлы данных в заданных ката логах (которые называются присоединенными каталогами), как если бы они находились в текущем каталоге.

APPEND [[диск: ]маршрут[;…]]

[/X[: ON: OFF]][/PATH: ON /PATH: OFF] [/Е]

Не пользуйтесь этой командой при выполнении Windows. Для вывода списка каталогов наберите команду APPEND без параметров. Для отмены присоединенных каталогов пользуйтесь командой APPEND;.

Например, чтобы программа могла открывать файлы данных в каталоге с именем CLIENTS на диске Сив каталоге DATA на диске В также как файлы в текущем каталоге, наберите команду:

append с: \clients;b\data

Параметр [диск: ]маршрут задает диск (если он отличен от текущего) и каталог, который вы хотите присоединить к текущему каталогу. Разделив элементы в параметре двоеточиями, вы можете задать несколько записей.

Параметр /X[: ON: OFF] определяет, будет ли MS-DOS выполнять (/X: ON) или не выполнять (/X: OFF) поиск в присоединенных каталогах выполняемых файлов программ. /X: ON можно сократить до /X. Если вы хотите Задать X: ON, то нужно сделать это при первом использовании APPEND после запуска системы. После этого можно переключаться между X: ON и X: OFF. Значение по умолчанию — /X: OFF.

/PATH: ON /PATH: OFF определяет, будет ли программа искать в присоединенных каталогах файлы данных, когда в имя искомого файла уже включен маршрут (по умолчанию — /PATH: ON). Маршрут поиска выполняемых файлов задается командой PATH.

Параметр /Е присваивает список присоединенных каталогов переменной операционной среды APPEND. Для этого сначала используйте команду APPEND с единственным параметром /Е. Затем укажите APPEND снова, задав на этот раз присоединяемые каталоги. В одной и той же командной строке нельзя задавать /Е и [диск: ]маршрут. Параметр /Е можно указывать только при первом использовании APPEND после запуска системы. При указании /Т для вывода списка присоединенных каталогов можно воспользоваться командой SET (о переменных операционной среды рассказывается в описании этой команды).

Чтобы задать более одного каталога, разделите их точкой с запятой. При повторном использовании в команде параметра [диск: ]маршрут новые значения заменяют предыдущими.

Если вы даете команду APPEND несколько раз, то второй и последующий разы нужно опускать расширение. EXE, так как APPEND.EXE не будет загружаться несколько раз.

Список каталогов, получаемый по команде DIR, не включает имена файлов из присоединенных каталогов. Если файл в присоединенном каталоге имеет то же имя, что и файл в текущем каталоге, то будет найден файл в текущем каталоге.

Поделиться:
Популярные книги

Плохой парень, Купидон и я

Уильямс Хасти
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Плохой парень, Купидон и я

Кротовский, сколько можно?

Парсиев Дмитрий
5. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, сколько можно?

Адвокат вольного города 5

Кулабухов Тимофей
5. Адвокат
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Адвокат вольного города 5

Лекарь для захватчика

Романова Елена
Фантастика:
попаданцы
историческое фэнтези
фэнтези
5.00
рейтинг книги
Лекарь для захватчика

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Миф об идеальном мужчине

Устинова Татьяна Витальевна
Детективы:
прочие детективы
9.23
рейтинг книги
Миф об идеальном мужчине

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Завод 2: назад в СССР

Гуров Валерий Александрович
2. Завод
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Завод 2: назад в СССР

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Неудержимый. Книга IX

Боярский Андрей
9. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IX