246071-Либерти-Освой-самостоятельно-С-за-21-день (Освой С++ самостоятельно за 1 день. Книга)
Описание файла
PDF-файл из архива "Освой С++ самостоятельно за 1 день. Книга", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
AnnotationВ книге широко представлены возможности новейшей версии программного продуктаMicrosoft Visual C++. Подробно описаны средства и подходы программирования современныхпрофессиональных приложений. Материалы книги дополнены многочисленнымидемонстрационнымипрограммами,впроцессеразработкикоторыхмаксимальноиспользуютсявозможности программных инструментов Microsoft Visual Studio. Особое внимание уделеноновинкамверсии6.0иновейшимтехнологиямобъектно-ориентированногопрограммирования,включая использование библиотеки MFC и шаблонов классов, а также создание связанныхсписков. Отдельное занятие посвящено вопросам объектно-ориентированного анализа ипроектирования приложений. Подробно рассмотрены все средства и подходы конструированиясобственныхпользовательскихклассов.Книгарассчитананаширокийкругчитателей,интересующихсясовременнымипроблемамипрограммирования.ДжессЛибертиОбавтореПосвящениеБлагодарностиВведениеДлякогоэтакнигаНеделя№1ОсновныевопросыНесколькословдляпрограммистовнаязыкеCЧтодальшеДень1-й.ПервыешагиВведениеКраткийэкскурсвисториюязыкаC++ПрограммыРешениемногихпроблемПроцедурное,структурированноеиобъектно-ориентированноепрограммированиеЯзыкC++иобъектно-ориентированноепрограммированиеИнкапсуляцияНаследованиеимногократноеиспользованиеПолиморфизмЭволюцияязыкаC++НужнолисначалаизучитьязыкCC++иJavaСтандартANSIПодготовкакпрограммированиюСредаразработкиКомпиляцияисходногокодапрограммыСозданиеисполняемогофайласпомощьюкомпоновщикаЦиклразработкиПерваяпрограмманаязыкеC++—HELLO.cppОсваиваемкомпиляторVisualC++6ПостроениепроектаприветствияОшибкикомпиляцииРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень2-й.СоставныечастипрограммынаязыкеC++ПростаяпрограмманаязыкеC++КраткообобъектеcoutКомментарииВидыкомментариевИспользованиекомментариевНапоследокпредупреждение:осторожнеескомментариями!ФункцииИспользованиефункцийРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень3-й.ПеременныеиконстантыЧтотакоепеременнаяРезервированиепамятиРазмерцелыхЗнаковыеибеззнаковыетипыБазовыетипыпеременныхОпределениепеременнойЧувствительностькрегиструбуквКлючевыесловаСозданиенесколькихпеременныходноготипаПрисваиваниезначенийпеременнымКлючевоесловоtypedefВкакихслучаяхследуетиспользоватьтипыshortиlongПереполнениебеззнаковыхцелыхПереполнениезнаковыхцелочисленныхзначенийСимволыСимволыичислаСпециальныесимволыКонстантыЛитеральныеконстантыСимвольныеконстантыОпределениеконстантспомощьюдирективы#deiineОпределениеконстантспомощьюключевогословаconstКонстантыперечисленийРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень4-й.ВыраженияиоператорыВыраженияСимволыпробеловБлокиикомплексныевараженияОперацииОператорыОператорприсваиванияМатематическиеоператорыЦелочисленноеделениеиделениепомодулюСовместное использование математических операторов с операторамиприсваиванияИнкрементдекрементПрефиксипостфиксПриоритетыоператоровВложениекруглыхскобокЧтотакоеИСТИННООператорыотношенийОператорifИспользованиеотступоввпрограммныхкодыхКлючевоесловоelseСложныеконструкциисifИспользованиефигурныхскобокдлявложенныхоператоровifЛогическиеоператорыЛогическоеИЛогическоеИЛИЛогическоеНЕТВычислениепосокращеннойсхемеПриоритетыоператоровотношенийПодробнееобистинеилжиУсловныйоператорРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень5-й.ФункцииЧтотакоефункцияВозвращаемыезначения,параметрыиаргументыОбъявлениеиопределениефункцийОбъявлениефункцииПрототипыфункцийОпределениефункцииВыполнениефункцийЛокальныепеременныеГлобальныепеременныеГлобальныепеременные;будьтеначекуПодробнееолокальныхпеременныхОператоры,используемыевфункцияхПодробнееобаргументахфункцийИспользованиефункцийвкачествепараметровфункцийПараметры-этолокальныепеременныеПодробнееовозвращаемыхзначенияхЗначенияпараметров,используемыепоумолчаниюПерегрузкафункцийДополнительныесведенияофункцияхПодставляемыеinline-функцииРекурсияРаботафункций-приподнимаемзавесутайныУровниабстракцииРазбиениепамятиСтекифункцииРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень6-й.БазовыеклассыСозданиеновыхтиповЗачемсоздаватьновыйтипКлассыичленыклассовОбъявлениеклассаНесколькословобиспользуемыхименахОпределениеобъектаКлассывсравнениисобъектамиПолучениедоступакчленамклассаЗначенияприсваиваютсяобъектам,анеклассамЧтообъявишь,тоибудешьиметьОграничениедоступакчленамклассаОставьтеданныеклассазакрытымиОграничение доступа к данным - это не способ защиты данных, а лишьсредствооблегченияпрограммированияОпределениеметодовклассаКонструкторыидеструкторыКонструкторыидеструкторы,заданныепоумолчаниюИспользованиеконструктора,заданногопоумолчаниюОбъявлениефункций-членовсоспецификаторомconstЧемотличаетсяинтерфейсотвыполненияклассаГде следует распологать в программе объявления классов и определенияметодовВыполнениесподстановкойКлассысодержащиедругиеклассывкачестведанных-членовСтруктурыПочемудваключевыхслованесутодинаковуюсмысловуюнагрузкуРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень7-й.ЦиклыОрганизацияцикловИсторияоператораgotoПочемуследуетизбегатьоператораgotoОрганизацияцикловспомощьюоператораwhileСложныеконструкциисоператоромwhileОператорыbreakиcontinueИспользованиеконструкцииwhile(true)Организацияцикловспомощьюконструкцииdo...whileИспользованиеконструкцииdo...whileОператорforСложныевыражениясоператоромforМножественныеинициализациииприращениясчетчиковциклаНулевыепараметрыциклаforИспользованиепустыхцикловforВложенныециклыОбластьвидимостипеременных-счетчиковцикловforОбобщениесведенийоциклахОператорswitchОбработкакоммандменбспомощьюоператораswitchРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияПодведениеитоговИтогипервойнеделиНеделя№2ОсновныевопросыЧтодальшеДень8-й.УказателиЧтотакоеуказательИспользованиеуказателякаксредствахраненияадресаИменауказателейОператорразыменовыванияУказатели,адресаипеременныеОбращениекданнымчерезуказателиИспользованиеадреса,хранящегосявуказателеДлячегонужныуказателиПамятьстековаяидинамическираспределяемаяОператорnewОператорdeleteЧтотакоеутечкапамятиРазмещениеобъектоввобластидинамическойпамятиУдалениеобъектовДоступкчленамклассаДинамическоеразмещениечленовклассаУказательthisБлуждающие,дикиеилизависшиеуказателиИспользованиеключевогословаconstприобъявленииуказателейИспользование ключевого слова const при объявлении указателей ифункций-членовУказательconstthisВычислениясуказателямиРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень9-й.СсылкиЧтотакоессылкаИспользованиеоператораадреса(&)приработесоссылкамиСсылкинельзяпереназначатьНачтоможноссылатьсяНулевыеуказателиинулевыессылкиПередачааргументовфункцийкакссылокПередачауказателейвфункциюswap()Передачассылоквфункциюswap()ПредставленияозаголовкахфункцийипрототипахВозвращениенесколькихзначенийВозвращениезначенийспомощьюссылокПередачассылокнапеременныекаксредствоповышенияэффективностиПередачаконстантногоуказателяСсылкивкачествеальтернативыКогдалучшеиспользоватьссылки,акогда-указателиКоктейльизссылокиуказателейНе возвращайте ссылку на объект, который находиться вне областивидимости!ВозвращениессылкинавобластидинамическогообменаАгдежеуазатель?РезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень10-й.ДополнительныевозможностииспользованияфункцииПерегруженныефункции-членыИспользованиезначений,заданныхпоумолчаниюВыбормеждузначениямипоумолчаниюиперегруженнымифункциямиКонструктор,принятыйпоумолчаниюПерегрузкаконструкторовИнициализацияобъектовКонструктор-копировщикПерегрузкаоператоровЗаписьФункцииинкрементаПерегрузкапрефиксныхоператоровТипывозвратовперегруженныхфункцийоператоровВозвращениебезымянныхвременныхобъектовИспользованиеуказателяthisПерегрузкапостфиксныхоператоровРазличиямеждупреинкрементномипостинкрементномОператорсуммированияПерегрузкаоператорасуммированияОсновныепринципыперегрузкиоператоровОграниченияперегрузкиоператоровЧтоможноперегружатьОператорприсваиванияОператорыпреобразованийОператорыпреобразованиятиповРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень11-й.НаследованиеЧтотакоенаследованиеИерархияинаследованиеЦарствоживотныхСинтаксиснаследованияклассовЗакрытыйилизащищенныйКонструкторыидеструкторыПередачааргументоввбазовыеконструкторыЗамещениефункцийСокрытиеметодабазовогоклассаВызовбазовогометодаВиртуальныеметодыКакработаютвиртуальныеметодыНельзябратьтам,находясьздесьДроблениеобъектаВиртуальныедеструкторыВиртуальныйконструктор-копировщикЦенавиртуальностиметодовРезюмеВопросыиответыКоллоквиумТестУпражненияДень12-й.МассивыисвязанныелистыЧтотакоемассивыЭлементымассиваВыводданныхзапределамимассиваОшибкиподсчетастолбцовдлязабораИнициализациямассиваОбъявлениемассивовМассивыобъектовМногомерныемассивыИнициализациямногомерногомассиваНесколькословопамятиМассивыуказателейОбъявлениемассивоввобластидинамическогообменаУказательнамассивилимассивуказателейИменамассивовиуказателейУдалениемассиваизобластидинамическойпамятиМассивысимволовФункцииstrcpy()иstrncpy()КлассыстрокСвязанныеспискиидругиеструктурыОбщиепредставленияосвязанныхспискахДелегированиеответственностиКомпонентысвязанныхсписковЧтомыузналивэтойглавеКлассымассивовРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень13-й.ПолиморфизмПроблемысодиночнымнаследованиемПереносметодавверхпоиерархииклассовПриведениеуказателяктипупроизводногоклассаДобавлениеобъектавдваспискаМножественноенаследованиеИз каких частей состоят объекты, полученные в результатемножественногонаследованияКонструкторы классов, полученных в результате множественногонаследованияДвусмысленностьситуацииНаследованиеотобщегобазовогоклассаВиртуальноенаследованиеПроблемысмножественнымнаследованиемКлассы-мандатыАбстрактныетипыданныхЧистыевиртуальныефункцииВыполнениечистыхвиртуальныхфункцийСложнаяиерархияабстракцийКогдаследуетиспользоватьабстрактныетипыданныхЛогикаиспользованияабстрактныхклассовПарасловомножественномнаследовании,абстрактныхтипахданныхиязыкеJavaРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень14-й.СпециальныеклассыифункцииСтатическиепеременные-членыСтатическиефункции-членыУказателинафункцииЗачемнужныуказателинафункцииМассивыуказателейнафункцииПередачауказателейнафункциивдругиефункцииИспользованиеtypedefсуказателяминафункцииУказателинафункциичленыМассивыуказателейнафункции-членыРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияПодведениеитоговНеделя№3ОсновныевопросыЧтодальшеДень15-й.ДополнительныевозможностинаследованияВложениеДоступкчленамвложенногоклассаФильтрациядоступаквложеннымклассамЦенавложенийПередачаобъектакакзначенияРазличныепутипередачифункциональностиклассуДелегированиеЗакрытоенаследованиеКлассыдрузьяФункциидрузьяФункциидрузьяиперегрузкаоператораПерегрузкаоператоравыводаРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень16-й.ПотокиЗнакомствоспотокамиИнкапсуляцияБуферизацияПотокиибуферыСтандартныеобъектыввода-выводаПереадресацияВыводданныхспомощьюcinСтрокиПроблемы,возникающиепривводестрокОператор>>возвращаетссылкунаобъектistreamДругиеметодыобъектаcinВвододногосимволаИспользованиефункцииgef()безпараметровИспользованиефункцииget()спараметромВводстроксостандартногоустройствавводаИспользованиефункцииcin.ignore()Функции-членыpeek()иputback()ВводданныхспомощьюcoutОчисткабуферавыводаФункции-членыобъектаcoutМанипуляторы,флагиикомандыформатированияИспользованиефункцииcout.width()УстановкасимволовзаполненияУстановкафлаговСравнениепотоковифункцииprintf()ИспользованиефайловдлявводаивыводаданныхОбъектыofstreamСостоянияусловийОткрытиефайловдляввода-выводаНастройкаоткрытияфайлаобъектомofstreamДвоичныеитектовыефайлыУстановкапараметровввода-выводаспомощьюкомманднойстрокиРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень17-й.ПространстваименВведениеВызовпоименифункцийиклассовСозданиепространстваименОбъявлениеиопределениетиповОбъявлениефункцийзапределамипространстваименДобавлениеновыхчленовВложенияпространстваименИспользованиепространстваименКлючевоесловоusingИспользованиеusingкакоператораИспользованиеusingвобъявленияхПсевдонимыпространстваименНеименованныепространстваименСтандартноепространствоименstdРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень18-й.Анализипроектированиеобъектно-ориентированныхпрограммЯвляетьсялиC++объектно-ориентированнымязыкомпрограммированияПостроениемоделейПроектированиепрограмм:языкмоделированияПроцесспроектированияпрограммИдеяАнализтребованийСитуацияиспользованияОпределениепользователейОпределениепервойситуациииспользованияСозданиемоделидоменаОбобщениеВложениеАссоциацияРазработкасценариевРазработкапутеводителейДиаграммывзаимодействийСозданиепакетовАнализсовместимостиприложенияАнализсуществующихсистемПрочаядокументацияВизуализацияАртефактыПроектированиеЧтотакоеклассыПреобразованияДругиепреобразованияОбработкаданныхОтчетыУстройстваСтатическаямодельКарточкиCRCКакпроводитьзаседанияскарточкамиСфокусируемсянараспределенииответственностиКаксделатьклассживымОграничениякарточекCRCСозданиемоделиUMLnoкартонкамCRCОтношениямеждуклассамиМножественноенаследованиепротиввложенияДискриминаторыисиловыеклассыДинамическаямодельДиаграммыпереходовсостоянийСверхсостоянияРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень19-й.ШаблоныЧтотакоешаблоныПараметризованныетипыСозданиеэкземплярашаблонаОбъявлениешаблонаИспользованиеименишаблонаВыполнениешаблонаФункциишаблонаШаблоныидрузьяДружественныеклассыифункции,неявляющиесяшаблонамиДружественныйклассилифункциякакобщийшаблонИспользованиеэкземпляровшаблонаСпециализированныефункцииСтатическиечленыишаблоныСтандартнаябиблиотекашаблоновКонтейнерыПоследовательныеконтейнерыВекторСписокКонтейнердвухстороннейочередиСтекиОчередьАссоциативныеконтейнерыКартаДругиеассоциативныеконтейнерыКлассыалгоритмовОперации,неизменяющиепоследовательностьАлгоритмыизмененияпоследовательностиРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень20-й.ОтслеживаниеисключительныхситуацийиошибокОшибки,погрешности,ляпусыи"гнилой"кодИсключительныеситуацииНесколькослово"гнилом"кодеИсключенияКакиспользуютсяисключенияИспользованиеблоковtryиcatchПерехватисключенийИспользованиенесколькихоператоровcatchНаследованиеисключенийДанныевклассахисключенийиприсвоениеименобъектамисключенийИсключенияишаблоныИсключениябезошибокОшибкииотладкапрограммыТочкаостановаАнализзначенийпеременныхИсследованиепамятиКодассемблераРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияДень21-й.ЧтодальшеПроцессорикомпиляторПросмотрпромежуточногофайлаИспользованиедирективы#defineИспользованиедирективы#defineдлясозданияконстантИспользованиедирективы#defineдлятестированияКоммандапрепроцессора#elseВключениефайловипредупреждениеошибоквключенияМакросыЗачемнужнывсеэтикруглыескобкиМакросывсравнениисфункциямишаблоновПодставляемыефункцииОперациисострокамиОператорвзятиявкавычкиКонкатенацияВстроенныемакросыМакросassert()Оладкапрограммыспомощьюassert()Макросassert()вместоисключенийПобочныеэффектыИнвариантыклассаПечатьпромежуточныхзначенийУровниотладкиОперациисбитамиданныхОператорИ(AND)ОператорИЛИ(OR)ОператорисключающегоИЛИ(XOR)ОператордополнениядоединицыУстановкабитовСбросбитовИнверсиябитовБитовыеполяСтильпрограммированияОтступыФигурныескобкиДлинныестрокиКонструкциисоператоромswitchТекстпрограммыИменаидентификаторовПравописаниеииспользованиепрописныхбукввименахКомментарииОрганизациядоступакданнымиметодамОпределенияклассовВключениефайловМакросassert()КлючевоесловоconstСделаемещеодиншагвпередГдеполучитьсправочнуюинформациюисоветыЖурналыВыскажитесвоемнениеокнигеРезюмеВопросыиответыКоллоквиумКонтрольныевопросыУпражненияПодведениеитоговПриложениеАПриоритетыоператоровПриложениеБКлючевыесловаC++ПриложениеВДвоичныеочислаДругиесистемысчисленияЕщеобоснованияхДвоичнаясистемасчисленияПочемуименнооснование2Биты,байтыиполубайтыЧтотакоекилобайтДвоичныечислаШестнадцатеричнасистемасчисленияПриложениеГ-ОтветыДень1КонтрольныевопросыУпражненияДень2КонтрольныевопросыУпражненияДень3КонтрольныевопросыУпражненияДень4КонтрольныевопросыУпражненияДень5КонтрольныевопросыУпражненияДень6КонтрольныевопросыУпражненияДень7КонтрольныевопросыУпражненияДень8КонтрольныевопросыУпражненияДень9КонтрольныевопросыУпражненияДень10КонтрольныевопросыУпражненияДень11КонтрольныевопросыУпражненияДень12КонтрольныевопросыУпражненияДень13КонтрольныевопросыУпражненияДень14КонтрольныевопросыУпражненияДень15КонтрольныевопросыУпражненияДень16КонтрольныевопросыУпражненияДень17КонтрольныевопросыУпражненияДень18КонтрольныевопросыУпражненияДень19КонтрольныевопросыУпражненияДень20КонтрольныевопросыУпражненияДень21КонтрольныевопросыУпражненияnotesДжессЛибертиОсвойсамостоятельноC++за21день.ОбавтореДжесс Либерти (Jesse Liberty) — автор шести книг, посвященных языку C++ и объектноориентированномуанализуипроектированию,атакжепостоянныйавторжурналаC++Report.Он возглавляет компанию Liberty Associates, Inc.