Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архангельский А.Я. - ошибки в книге?! "Программирование на C++ Builder 6" 
:(
    Опции темы
BreakPointMAN
Дата 25.7.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 6
Всего: 24



Недавно решил перечитать А.Я. Архангельского "Программирование на C++ Builder 6", чтобы вспомнить некоторые уже подзабытые веСЧи... и наткнулся на следующий бред (по-другому назвать сей фрагмент текста у меня язык не поворачивается) -

Цитата

Элементы (переменные и функции), объявленные в классе в разделе private, видимы и доступны только внутри данного модуля. При этом из функций, объявленных внутри класса, к ним можно обращаться непосредственно по имени, а из других функций - только со ссылкой на объект данного класса. В рассмотренном примере это относится к процедуре F1. Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private.

Элементы, объявленные в классе в разделе public, видимы и доступны для объектов любых классов и для других модулей, в которых директивой #include включен заголовочный файл данного модуля. При этом из объектов того же класса, к ним можно обращаться непосредственно по имени, а из других объектов и процедур - только со ссылкой на объект данного класса.  В рассмотренном примере это относится к переменной Ch1 и процедуре F2.

В классах, помимо обсуждавшихся ранее, могут быть еще разделы protected - защищенные. Элементы, объявленные в классе в разделе protected, видимы и доступны для любых объектов внутри данного модуля, а также для объектов классов-наследников данного класса в других модулях. Объекты из других модулей, классы которых не являются наследниками данного класса, защищенных элементов не видят.


Архангельский А.Я. - "Программирование в C++ Builder 6", Москва, издательство БИНОМ, 2004 г.
(глава 1, раздел 1.9.5.4 "Области видимости переменных и функций" - стр. 56)


В принципе, все три абазаца - бред от начала до конца, но некоторые моменты я выделил красным...
Поправьте меня, если я ошибаюсь, но разве здесь нет смысловых ошибок?
Если нет - то пойду перечитывать Страуструпа и всех остальных вместе с ним...
ps: под модулем здесь подразумевается cpp- или h-файл, в котором описывается/определяется класс...


...::: всё вышесказанное - чистое имхо :::...


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
Vyacheslav
Дата 26.7.2005, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 47
Всего: 59



Это он с Delphi перепутал


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
LenaKi
Дата 26.7.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 22.6.2005

Репутация: 1
Всего: 1



Это из первого издания книги или из второго?
PM MAIL   Вверх
chaos
Дата 26.7.2005, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



Цитата
Элементы (переменные и функции), объявленные в классе в разделе private, видимы и доступны только внутри данного класса.
нужо добавить что еще они доступны из друзей класса

Цитата
Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private.
- бред какой-то

Цитата
Элементы, объявленные в классе в разделе protected, видимы и доступны для любых объектов внутри данного модуля, а также для объектов классов-наследников данного класса в других модулях.
тоже чушь, должно быть так: Элементы, объявленные в классе в разделе protected, видимы и доступны только для друзей класса и объектов унаследованных от данного

Это сообщение отредактировал(а) chaos - 26.7.2005, 11:52
PM WWW   Вверх
BreakPointMAN
Дата 27.7.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 6
Всего: 24



Цитата(chaos @ 26.7.2005, 11:07)
Цитата
Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private.
- бред какой-то

кто-то сказал, что Архангельский Builder с Delphi перпутал... хз, я не дельфист, но всё может быть... %)


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.