Благодарности
Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов. Особенная благодарность — признанным знатокам С++: Павлу Кузнецову, Николаю Меркину (Кодт), Валерию Белявцеву (Bell) и Андрею Тарасевичу, чьи подробнейшие разъяснения не раз помогали разобраться в особенностях и нюансах конструкций С++.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Питер выпустил из печати мою книжку LVV>
LVV>Благодарности
LVV>Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов. Особенная благодарность — признанным знатокам С++: Павлу Кузнецову, Николаю Меркину (Кодт), Валерию Белявцеву (Bell) и Андрею Тарасевичу, чьи подробнейшие разъяснения не раз помогали разобраться в особенностях и нюансах конструкций С++.
Здравствуйте, LaptevVV, Вы писали:
LVV>Питер выпустил из печати мою книжку LVV>
LVV>Благодарности
LVV>Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов. Особенная благодарность — признанным знатокам С++: Павлу Кузнецову, Николаю Меркину (Кодт), Валерию Белявцеву (Bell) и Андрею Тарасевичу, чьи подробнейшие разъяснения не раз помогали разобраться в особенностях и нюансах конструкций С++.
Поздравляю!
Желаю не останавливаться на достигнутом!
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, мухоморец, Вы писали:
М>Здравствуйте, LaptevVV, Вы писали:
LVV>>Благодарности
М>а теперь честно,сколько раз написано слово rsdn в книжке ??? )))
Там еще Купаев есть...
Гораздо важнее то, что по умолчанию все, что объявлено внутри класса, недоступно извне. Это сразу накладывает ограничение на инициализацию. Например, определим класс Person с полями «Фамилия» и «Сумма» и структуру OtherPerson с такими же полями:
class Person
{ string Fio; double Summa; };
struct OtherPerson
{ string Fio; double Summa; };
В первом случае мы получим ошибку при компиляции. Более того, попробуем объявить следующую переменную без инициализации:
Person Kupaev;
Тогда оперировать полями, используя запись Kupaev.Summa или Kupaev.Fio, тоже будет невозможно — компилятор выдаст сообщение об ошибке. Можно сказать, что поля класса невидимы вне класса. Таким образом, конструкция класса скрывает информацию от внешнего мира, реализуя принцип инкапсуляции.
А еще пространство имен RSDN
В пространство имен можно включать и заголовки, например:
namespace RSDN {
#include"TStack.h"
}
Таким способом мы включаем определение класса TStack в пространство имен RSDN.
...
Стандарт C++ позволяет объявлять синонимы (alias) имен, например:
Обычно синонимы используются для переопределения длинных имен, придуманных разработчиками библиотек.
Пространство имен разрешается разбивать на части, например
//--модуль m1.cppnamespace RSDN {
void f1(void) {...};
int x;
}
//--модуль m2.cppnamespace RSDN {
void f2(void) {...};
int y;
class A{};
}
Если в разных единицах трансляции объявлено одно и то же пространство имен, то оно «склеивается» в единое пространство:
namespace RSDN {
void f1(void) {...};
int x;
void f2(void) {...};
int y;
class A{};
}
Именно таким образом «склеивается» стандартное пространство std, которое можно наблюдать в системных заголовочных файлах, размещенных в каталоге include интегрированной среды.
Спасибо РСДН!!!!!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, LaptevVV, Вы писали:
LVV>>Там еще Купаев есть... LVV>>Person Kupaev = { "Купаев М.", 10000.00 }; // ошибка! LVV>>OtherPerson Laptev = { "Лаптев В.", 20000.00 };
RO>Ага, Купаев — ошибка
Не... Это как раз о конфиденциальности данных о зарплате...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Питер выпустил из печати мою книжку LVV>
LVV>Благодарности
LVV>Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов. Особенная благодарность — признанным знатокам С++: Павлу Кузнецову, Николаю Меркину (Кодт), Валерию Белявцеву (Bell) и Андрею Тарасевичу, чьи подробнейшие разъяснения не раз помогали разобраться в особенностях и нюансах конструкций С++.
Молодец! Хоть и неблагодарное это занятие "просвещение", но очень нужное!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Питер выпустил из печати мою книжку LVV>
LVV>Благодарности
LVV>Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов. Особенная благодарность — признанным знатокам С++: Павлу Кузнецову, Николаю Меркину (Кодт), Валерию Белявцеву (Bell) и Андрею Тарасевичу, чьи подробнейшие разъяснения не раз помогали разобраться в особенностях и нюансах конструкций С++.
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, dip_2000, Вы писали:
А>>>P.S. Предвижу следующий вопрос: где можно скачать? _>>Присоединяюсь :D К>Здесь.
Пока не будет сказано, что книга не будет оффциально выкладываться в сети из-за договора с издательством или из-за пожеланий автора (или у нас это считается по дефолту? ), то этот не винный вопрос не попадает под действие этих пунктов правил.
... << RSDN@Home 1.2.0 alpha rev. 775>>
"Бог не терпит голой сингулярности" -- Роджер Пенроуз
LVV>class Person
LVV>{ string Fio; doubleSumma; };
Меня всегда интересовало: чем руководствуются авторы учебной литературы при выборе имён идентификаторов? "Person" уже очень неплохо, но вот поля не годятся никуда (на мой строгий взгляд). Уж не из-за этого ли в КУ и появляются посты, осмеивающие (и поделом!) имена классов и переменных, подсмотренные у молодых коллег? А то ведь получается, что "коллеги" и не виноваты
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, LaptevVV, Вы писали:
_FR>
LVV>>class Person
LVV>>{ string Fio; doubleSumma; };
_FR>
_FR>Меня всегда интересовало: чем руководствуются авторы учебной литературы при выборе имён идентификаторов? "Person" уже очень неплохо, но вот поля не годятся никуда (на мой строгий взгляд). Уж не из-за этого ли в КУ и появляются посты, осмеивающие (и поделом!) имена классов и переменных, подсмотренные у молодых коллег? А то ведь получается, что "коллеги" и не виноваты
Критикуешь — предлагай!
Учтем...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Критикуешь — предлагай!
Виноват — это казалось очевидным моя [частая] ошибка Ответ уже, спасибо wallaby, есть.
LVV>Учтем...
Спасибо
Ну и заодно: имхо, вообще, к учебному (обучающему) коду надо относиться как к эталонному — учащемуся больше несчего копировать некоторые решения (ну зачем искать в нескольких источниках, сравнивать и делать выводы, как приходится в работе); наверняка ведь видно, что некоторые куски копи-пэйстятся от курсовой к курсовой — пусть и это идёт на пользу, так как "культура" написания сродни почерку — менять непросто и больно.
Зато, когда в "боевых условиях" бывший студент поймёт, чему же его на самом деле [и в тайне от него] научили и насколько это оказывается важным (и, не побоюсь "громкого" слова, "решающим")... [Эх, спасибо моим учителям ]
Help will always be given at Hogwarts to those who ask for it.