Beruflich Dokumente
Kultur Dokumente
Whetheryouvehadanypriorprogramming
experienceornot,thetutorialsonthissitewillwalkyouthroughallthestepstowrite,compile,anddebugyourC++programs,
allwithplentyofexamples.
Becominganexpertwonthappenovernight,butwithalittlepatience,youllgetthere.AndLearnCpp.comwillshowyouthe
way.
Chapter0 Introduction/GettingStarted
0.1 Introductiontothesetutorials
0.2 Introductiontoprogramminglanguages
0.3 IntroductiontoC/C++
0.4 Introductiontodevelopment
0.5 InstallinganIntegratedDevelopmentEnvironment(IDE)
0.6 Compilingyourfirstprogram
0.6a Buildconfigurations
0.7 AfewcommonC++problems
Chapter1 C++Basics
1.1 Structureofaprogram
1.2 Comments
1.3 Afirstlookatvariables,initialization,andassignment
1.3a Afirstlookatcout,cin,andendl
1.4 Afirstlookatfunctionsandreturnvalues
1.4a Afirstlookatfunctionparametersandarguments
1.4b Whyfunctionsareuseful,andhowtousethemeffectively
Moved
1.4c Keywordsandnamingidentifiers
Nov7
Moved
1.4d Afirstlookatlocalscope
Nov7
1.5 Afirstlookatoperators
1.6 Whitespaceandbasicformatting
1.7 Forwarddeclarationsanddefinitions
1.8 Programswithmultiplefiles
Moved
1.8a Nov8
Namingconflictsandthestdnamespace
1.9 Headerfiles
1.10 Afirstlookatthepreprocessor
1.10a Headerguards
1.10b Howtodesignyourfirstprograms
1.11 Debuggingyourprogram(steppingandbreakpoints)
1.11a Debuggingyourprogram(watchingvariablesandthecallstack)
1.12 Chapter1comprehensivequiz
Chapter2 VariablesandFundamentalDataTypes
2.1 Fundamentalvariabledefinition,initialization,andassignment
2.2 Void
2.3 Variablesizesandthesizeofoperator
2.4 Integers
2.4a Fixedwidthintegers
2.5 Floatingpointnumbers
2.6 Booleanvaluesandanintroductiontoifstatements
2.7 Chars
2.8 Literals
2.9 Const,constexpr,andsymbolicconstants
2.10 Chapter2comprehensivequiz
Chapter3 Operators
3.1 Operatorprecedenceandassociativity
3.2 Arithmeticoperators
3.3 Increment/decrementoperators,andsideeffects
3.4 Sizeof,comma,andconditionaloperators
3.5 Relationaloperators(comparisons)
3.6 Logicaloperators
3.7 Convertingbetweenbinaryanddecimal
3.8 Bitwiseoperators
3.8a Bitflagsandbitmasks
3.x Chapter3comprehensivequiz
Chapter4 VariableScopeandMoreTypes
4.1 Blocks(compoundstatements)
4.1a Localvariables,scope,andduration
4.2 Globalvariablesandlinkage
4.2a Whyglobalvariablesareevil
4.3 Staticdurationvariables
4.3a Scope,duration,andlinkagesummary
4.3b Namespaces
Moved
4.3c Nov9
Usingstatements
4.4 Implicittypeconversion(coercion)
4.4a Explicittypeconversion(casting)
4.4b Anintroductiontostd::string
4.5 Enumeratedtypes
4.5a Enumclasses
4.6 Typedefsandtypealiases
4.7 Structs
4.8 Theautokeyword
4.x Chapter4comprehensivequiz
Chapter5 ControlFlow
5.1 Controlflowintroduction
5.2 Ifstatements
5.3 Switchstatements
5.4 Gotostatements
5.5 Whilestatements
5.6 Dowhilestatements
5.7 Forstatements
5.8 Breakandcontinue
5.9 Randomnumbergeneration
5.10 std::cin,extraction,anddealingwithinvalidtextinput
New
5.11 Introductiontotestingyourcode
Sep8
5.x Chapter5comprehensivequiz
Chapter6 Arrays,Strings,Pointers,andReferences
6.1 Arrays(PartI)
6.2 Arrays(PartII)
6.3 Arraysandloops
6.4 Sortinganarrayusingselectionsort
6.5 Multidimensionalarrays
6.6 Cstylestrings
6.7 Introductiontopointers
6.7a Nullpointers
6.8 Pointersandarrays
6.8a Pointerarithmeticandarrayindexing
6.8b Cstylestringsymbolicconstants
6.9 Dynamicmemoryallocationwithnewanddelete
6.9a Dynamicallyallocatingarrays
6.10 Pointersandconst
6.11 Referencevariables
6.12 Memberselectionwithpointersandreferences
6.12a Foreachloops
6.13 Voidpointers
6.14 Pointerstopointers
6.15 Anintroductiontostd::array
6.16 Anintroductiontostd::vector
6.x Chapter6comprehensivequiz
Chapter7 Functions
7.1 Functionparametersandarguments
7.2 Passingargumentsbyvalue
7.3 Passingargumentsbyreference
7.4 Passingargumentsbyaddress
7.4a Returningvaluesbyvalue,reference,andaddress
7.5 Inlinefunctions
7.6 Functionoverloading
7.7 Defaultparameters
7.8 FunctionPointers
7.9 Thestackandtheheap
7.10 std::vectorcapacityandstackbehavior
7.11 Recursion
7.12 Handlingerrors(assert,cerr,exit,andexceptions)
7.13 Commandlinearguments
7.14 Ellipsis(andwhytoavoidthem)
7.x Chapter7comprehensivequiz
Chapter8 Basicobjectorientedprogramming
8.1 Welcometoobjectorientedprogramming
8.2 Classesandclassmembers
8.3 Publicvsprivateaccessspecifiers
8.4 Accessfunctionsandencapsulation
Updated
8.5 May13
Constructors
8.5a Constructormemberinitializerlists
8.5b Nonstaticmemberinitialization
8.6 Overlappinganddelegatingconstructors
8.7 Destructors
8.8 Thehiddenthispointer
8.9 Classcodeandheaderfiles
8.10 Constclassobjectsandmemberfunctions
8.11 Staticmembervariables
8.12 Staticmemberfunctions
8.13 Friendfunctionsandclasses
8.14 Anonymousvariablesandobjects
8.x Chapter8comprehensivequiz
Chapter9 Operatoroverloading
9.1 Introductiontooperatoroverloading
9.2 Overloadingthearithmeticoperatorsusingfriendfunctions
9.2a Overloadingoperatorsusingnormalfunctions
9.3 OverloadingtheI/Ooperators
9.4 Overloadingoperatorsusingmemberfunctions
9.5 Overloadingunaryoperators+,,and!
9.6 Overloadingthecomparisonoperators
9.7 Overloadingtheincrementanddecrementoperators
9.8 Overloadingthesubscriptoperator
9.9 Overloadingtheparenthesisoperator
9.10 Overloadingtypecasts
9.11 Thecopyconstructor
9.12 Copyinitialization
9.13 Convertingconstructors,explicit,anddelete
9.14 Overloadingtheassignmentoperator
9.15 Shallowvs.deepcopying
New
9.x Aug9
Chapter9comprehensivequiz
Chapter10 Anintroductiontoobjectrelationships
New
10.1 Aug10
Objectrelationships
Updated
10.2 Composition
Aug12
Updated
10.3 Aug16
Aggregation
New
10.4 Aug19
Association
New
10.5 Dependencies
Aug23
Updated
10.6 Containerclasses
Aug25
New
10.x Sep12
Chapter10comprehensivequiz
Chapter11 Inheritance
Updated
11.1 Introductiontoinheritance
Sep12
Updated
11.2 BasicinheritanceinC++
Sep21
Updated
11.3 Sep21
Orderofconstructionofderivedclasses
Updated
11.4 Sep22
Constructorsandinitializationofderivedclasses
Updated
11.5 Inheritanceandaccessspecifiers
Sep23
Updated
11.6 Adding,changing,andhidingmembersinaderivedclass
Sep27
Updated
11.7 Multipleinheritance
Oct10
NewOct
11.x 29
Chapter11comprehensivequiz
Chapter12 VirtualFunctions
Updated
12.1 Nov2
Pointersandreferencestothebaseclassofderivedobjects
Updated
12.2 Nov6
Virtualfunctionsandpolymorphism
New
12.2a Nov6
Theoverrideandfinalspecifiers,andcovariantreturntypes
Updated
12.3 Nov11
Virtualdestructors,virtualassignment,andoverridingvirtualization
Updated
12.4 Earlybindingandlatebinding
Nov18
Updated
12.5 Nov18
Thevirtualtable
Updated
12.6 Nov19
Purevirtualfunctions,abstractbaseclasses,andinterfaceclasses
Moved
12.7 Oct10
Virtualbaseclasses
New
12.8 Nov19
Objectslicing
New
12.9 Nov22
Dynamiccasting
New
12.10 Printinginheritedclassesusingoperator<<
Nov23
New
12.x Chapter12comprehensivequiz
Nov23
Chapter13 Templates
Updated
13.1 Nov26
Functiontemplates
Updated
13.2 Nov26
Functiontemplateinstances
Updated
13.3 Dec3
Templateclasses
Updated
13.4 Dec3
Templateexpressionparameters
Updated
13.5 Dec3
Functiontemplatespecialization
Updated
13.6 Classtemplatespecialization
Dec5
Updated
13.7 Dec5
Partialtemplatespecialization
13.8 Updated Partialtemplatespecializationforpointers
Dec5
Note:Werereorderingsomesectionssomeofthelessonnumberingmightbeoff/duplicativeinthemeantime.
Chapter14 Comingsoon
Chapter15 Exceptions
15.1 Theneedforexceptions
15.2 Basicexceptionhandling
15.3 Exceptions,functions,andstackunwinding
15.4 Uncaughtexceptions,catchallhandlers,andexceptionspecifiers
15.5 Exceptions,classes,andinheritance
15.6 Exceptiondangersanddownsides
Chapter16 TheStandardTemplateLibrary
16.1 TheStandardTemplateLibrary(STL)
16.2 STLcontainersoverview
16.3 STLiteratorsoverview
16.4 STLalgorithmsoverview
Chapter17 std::string
17.1 std::stringandstd::wstring
17.2 std::stringconstructionanddestruction
17.3 std::stringlengthandcapacity
17.4 std::stringcharacteraccessandconversiontoCstylearrays
17.5 std::stringassignmentandswapping
17.6 std::stringappending
17.7 std::stringinserting
Chapter18 Inputandoutput(I/O)
Moved
18.1 Nov26
Inputandoutput(I/O)streams
Moved
18.2 Inputwithistream
Nov26
Moved
18.3 Nov26
Outputwithostreamandios
Moved
18.4 Nov26
Streamclassesforstrings
Moved
18.5 Nov26
Streamstatesandinputvalidation
Moved
18.6 Nov26 BasicfileI/O
18.7 Moved RandomfileI/O
Nov26
AppendixA MiscellaneousSubjects
A.1 Staticanddynamiclibraries
A.2 UsinglibrarieswithVisualStudioExpress2005
A.3 UsinglibrarieswithCode::Blocks
AppendixB C++11(FormerlyC++0x)
B.1 IntroductiontoC++11
B.2 Longlong,auto,decltype,nullptr,andenumclasses
B.3 Rangebasedforstatementsandstatic_assert
B.4 Initializerlistsanduniforminitialization
B.5 Delegatingconstructors
B.6 Newvirtualfunctioncontrols(override,final,default,anddelete)