C++大学教程:英文版

C++大学教程:英文版
作 者: Deitel Deitel
出版社: 电子工业出版社
丛编项: 国外计算机科学教材系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:DEITELHarveyM.Deitel,世界一流的计算机科学教员和研计会演讲人;PaulJ.Deitel,国际知名的教育家HarveyM.Deitel博士是Deitel&Associates公司总裁,有着40余年计算机领域的工作经验,进行了大量深入的教学研究,是世界一流的计算机科学教员和研计会演讲人。HarveyM.Deitel持有麻省理工学院学士、硕士学位和波士顿大学博士学位。他曾经在IBM和MIT的虚拟内存操作系统项目中从事研究工作,开发出在很多系统中广泛实现的技术。他还有20多年大学教学经验,取得过“教育特别津贴”。也是全球知名的计算机教材作者。其作品已被翻译成日、俄、中文(繁简)、韩、法、西班牙等语言。PaulJ.Deitel是Deitel&Associates公司执行副总裁,是麻省理工学院Sloun管理学校的毕业生。主修信息技术,通过Deitel&Associates公司他已经为DigitalEquipmentCorporation......等多家公司的客户提供Java、C和C++课程的教学活动,并曾为计算机协会波士顿分会授Java和C++语言,还通过卫星直播Java课程。VisualBasic.NET2003大学简明教程:实例程序设计>>更多作品

内容简介

本书是一本全英文的C++编程方面的优秀教程,它全面介绍了过程式编程与面向对象编程的原理与方法,细致地分析了各种性能问题、可移植性问题以及可能出错的情况。作者通过大量的示例程序,重点突出了利用UML进行面向对象的设计,引入了使用CGI的web应用开发,并且帮助学生创建真实世界的c++应用程序。本书无论从广度和深度上来说都非常全面,并且从基础概念讲起,同样适合没有编程经验的读者学习。通过可以实际使用的完整例子,可以使读者潜移默化地掌握概念。本书的作者Deitel一家是美国编程教材方面的名家,他们的作品繁多,并且多为美国各著名大学的指定教材。本书是一本C++编程方面的优秀教程,全面介绍了过程式编程与面向对象编程的原理与方法,细致地分析了各种性能问题、可移植性问题以及可能出错的情况。作者通过大量的示例程序,重点突出了利用UML进行面向对象的设计,引入了使用CGI的web应用开发,并且帮助学生创建真实世界的c++应用程序。本书无论从广度和深度上来说都非常全面,并且从基础概念讲起,同样适合没有编程经验的读者学习。通过可以实际使用的完整例子,可以使读者潜移默化地掌握概念。本书可作为高等院校相关专业的编程语言教材和c++编程教材,也是软件设计人员进行C++程序开发的。采用了Deitel的Live-Code方式,对C++的基本概念、使用UML的面向对象设计(OOD)以及使用CGI的Web编程进行了完整、权威的介绍!这本世界上使用最为广泛的C++编程教材的第四版,为读者展现了C++的各种卓越的性能;提供了面向对象设计与实现的实例学习,其中使用了对象管理组(OMG)发布的统一建模语言(UML):同时介绍了使用CGI的n层web应用开发。在本书中,Deitel一家为我们介绍了面向对象编程的基本概念以及C++的编程基础,相关的内容包括:·控制结构/函数/指针·异常处理/运算符重载·string和vector对象·类/对象/封装·模板/数据结构/文件/流·基于指针的数组和字符串·OOP/继承/多态·标准模板库(STL)·名字空间/运行时的类型信息·使用UML的面向对象设计·位和字符处理·n层Web应用/CGI/XHTML本书可以帮助学生建立真实世界中的c+十应用程序,并且提供了丰富的教学特性:·数百个Live—Code程序,同时给出了计算机屏幕上的输出结果·大量的Intemet和WWW资源,鼓励读者进行深入研究·数百个提示、推荐做法...

图书目录

1IntroductiontoComputersandC++Programming

1.1Introduction

1.2WhatisaComputer?

1.3ComputerOrganization

1.4EvolutionofOperatingSystems

1.5PersonalComputing,DistributedComputingandClienffServerComputing

1.6MachineLanguages,AssemblyLanguages,andHigh-levelLanguages

1.7HistoryofCandC++

1.8C++StandardLibrary

1.9Java

1.10VisualBasic,VisualC++andC#

1.11OtherHigh-levelLanguages

1.12StructuredProgramming

1.13TheKeySoftwareTrend:ObjectTechnology

1.14BasicsofaTypicalC++Environment

1.15HardwareTrends

1.16HistoryoftheIntemet

1.17HistoryoftheWorldWideWeb

1.18WorldWideWebConsortium(W3C)

1.19GeneralNotesAboutC++andThisBook

1.20IntroductiontoC++Programming

1.21ASimpleProgram:PrintingaLineofText

1.22AnotherSimpleProgram:AddingTwoIntegers

1.23MemoryConcepts

1.24Arithmetic

1.25DecisionMaking:EqualityandRelationalOperators

1.26ThinkingAboutObjects:IntroductiontoObjectTechnologyandtheUnifiedModelingLanguage

1.27TouroftheBook

2ControlStructures

2.1Introduction

2.2Algorithms

2.3Pseudocode

2.4ControlStructures

2.5ifSelectionStructure

2.6if/elseSelectionStructure

2.7whileRepetitionStructure

2.8FormulatingAlgorithms:CaseStudy1(Counter-ControlledRepetition)

2.9FormulatingAlgorithmswithTop-Down,StepwiseRefinement:CaseStudy2(Sentinel-ControlledRepetition)

2.10FormulatingAlgorithmswithTop-Down,StepwiseRefinement:CaseStudy3(NestedControlStructures)

2.11AssignmentOperators

2.12IncrementandDecrementOperators

2.13EssentialsofCounter-ControlledRepetition

2.14forRepetitionStructure

2.15ExamplesUsingtheforStructure

2.16switchMultiple-SelectionStructure

2.17do/whileRepetitionStructure

2.18breakandcontinueStatements

2.19LogicalOperators

2.20ConfusingEquality(==)andAssignment(=)Operators

2.21Structured-ProgrammingSummary

2.22[OptionalCaseStudy]ThinkingAboutObjects:IdentifyingaSystem'sClassesfromaProblemStatement

3Functions

3.1Introduction

3.2ProgramComponentsinC++

3.3MathLibraryFunctions

3.4Functions

3.5FunctionDefinitions

3.6FunctionPrototypes

3.7HeaderFiles

3.8RandomNumberGeneration

3.9Example:GameofChanceandIntroducingenum

3.10StorageClasses

3.11ScopeRules

3.12Recursion

3.13ExampleUsingRecursion:FibonacciSeries

Recursionvs.Iteration

FunctionswithEmptyParameterLists

InlineFunctions

ReferencesandReferenceParameters

DefaultArguments

UnaryScopeResolutionOperator

FunctionOverloading

FunctionTemplates

[OptionalCaseStudy]ThinkingAboutObjects:Identifyinga

Class'sAttributes

Arrays

Introduction

Arrays

DeclaringArrays

ExamplesUsingArrays

PassingArraystoFunctions

SortingArrays

CaseStudy:ComputingMean,MedianandModeUsingArrays

SearchingArrays:LinearSearchandBinarySearch

Multiple-SubscriptedArrays

[OptionalCaseStudy]ThinkingAboutObjects:Identifyingthe

OperationsofaClass

PointersandStrings

Introduction

PointerVariableDeclarationsandInitialization

PoiuterOperators

CallingFunctionsbyReference

UsingconstwithPointers

BubbleSortUsingPass-by-Reference

PointerExpressionsandPointerArithmetic

RelationshipBetweenPointersandArrays

ArraysofPointers

CaseStudy:CardShufflingandDealingSimulation

FunctionPointers

IntroductiontoCharacterandStringProcessing

5.12.1FundamentalsofCharactersandStrings

5.12.2StringManipulationFunctionsoftheString-HandlingLibrary

5.13[OptionalCaseStudy]ThinkingAboutObjects:Collaborations

AmongObjects

6ClassesandDataAbstraction

6.1Introduction

6.2StructureDefinitions

6.3AccessingStructureMembers

ImplementingUser-DefinedTypeTimewithaC-likestruct

ImplementingAbstractDataTypeTimewithaclass

ClassScopeandAccessingClassMembers

SeparatingInterfacefromImplementation

ControllingAccesstoMembers

AccessFunctionsandUtilityFunctions

InitializingClassObjects:Constructors

UsingDefaultArgumentswithConstructors

Destructors

WhenConstructorsandDestructursAreCalled

UsingSetandGetFunctions

SubtleTrap:ReturningaReferencetoaprivateDataMember

DefaultMemberwiseAssignment

SoftwareReusability

[OptionalCaseStudy)ThinkingAboutObjects:StartingtoProgramtheClassesfortheElevatorSimulator

7Classes:PartII

7.1Introduction

7.2const(Constant)ObjectsandeonstMemberFunctions

7.3Composition:ObjectsasMembersofClasses

7.4friendFunctionsandfriendClasses

7.5UsingthethisPointer

7.6DynamicMemoryManagementwithOperatorsnewanddelete

7.7staticClassMembers

7.8DataAbstractionandInformationHiding

7.8.1Example:ArrayAbstractDataType

7.8.2Example:StringAbstractDataType

7.8.3Example:QueueAbstractDataType

7.9ContainerClassesandIterators

7.10ProxyClasses

7.11[OptionalCaseStudy]ThinkingAboutObjects:ProgrammingtheClassesfortheElevatorSimulator

8OperatorOverloading;StringandArrayObjects

8.1Introduction

8.2FundamentalsofOperatorOverloading

8.3RestrictionsonOperatorOverloading

8.4OperatorFunctionsasClassMembersvs.asfriendFunctions

8.5OverloadingStream-InsertionandStream-ExtractionOperators

8.6OverloadingUnaryOperators

8.7OverloadingBinaryOperators

8.8CaseStudy:ArrayClass

8.9ConvertingbetweenTypes

8.10CaseStudy:StringClass

8.11Overloading++and--

CaseStudy:ADateClass

StandardLibraryClassesstringandvector

Object-OrientedProgramming:Inheritance

Introduction

BaseClassesandDerivedClasses

protectedMembers

RelationshipbetweenBaseClassesandDerivedClasses

CaseStudy:Three-LevelInheritanceHierarchy

ConstructorsandDestructorsinDerivedClasses

“UsesA”and“KnowsA”Relationships

Dublic,protectedandprivateInheritance

SoftwareEngineeringwithInheritance

[OptionalCaseStudy]ThinkingAboutObjects:Incorporating

InheritanceintotheElevatorSimulation

10Object-OrientedProgramming:Polymorphism

10.1Introduction

10.2RelationshipsAmongObjectsinanInheritanceHierarchy

10.2.1InvokingBase-ClassFunctionsfromDerived-ClassObjects

10.2.2AimingDerived-ClassPointersatBase-ClassObjects

10.2.3Derived-ClassMember-FunctionCallsviaBase-ClassPointers

10.2.4VirtualFunctions

10.3PolymorpbismExamples

10.4TypeFieldsandswitchStructures

10.5AbstractClasses

10.6CaseStudy:InheritingInterfaceandImplementation

10.7Polymorphism,VirtualFunctionsandDynamicBinding"Under

theHood"

10.8VirtualDestructors

10.9CaseStudy:PayrollSystemUsingPolymorphismandRun-TimeTypeInformationwithdynamicandtypeid

11Templates

11.1Introduction

11.2FunctionTemplates

11.3OverloadingFunctionTemplates

11.4ClassTemplates

11.5ClassTemplatesandNontypeParameters

11.6TemplatesandInheritance

11.7TemplatesandFriends

11.8TemplatesandstaticMembers

12C++StreamInput/Output

12.1Introduction

12.2Streams

12.2.1ClassicStreamsvs.StandardStreams

12.2.2iostreamLibraryHeaderFiles

12.2.3StreamInput/OutputClassesandObjects

12.3StreamOutput

12.3.1Outputofchar*Variables

12.3.2CharacterOutputusingMemberFunctionput

12.4StreamInput

12.4.1getandgetlineMemberFunctions

12.4.2istreamMemberFunctionspeek,putbackandignore

12.4.3Type-SafeI/O

12.5UnformattedI/Ousingread,writeandgcount

12.6IntroductiontoStreamManipulators

12.6.1IntegralStreamBase:dec,oct,hexandsetbase

12.6.2Floating-PointPrecision(precision,eetprecJ,eion)

12.6.3FieldWidth(width,setw)

12.6.4Programmer-DefinedManipulators

12.7StreamFormatStatesandStreamManipulators

12.7.1TrailingZerosandDecimalPoints(shovpoint)

12.7.2Justification(left,rightandinternal)

12.7.3Padding(fi11,setfill)

12.7.4IntegralStreamBase(dec,oct,hex,showbase)

12.7.5Floating-PointNumbers;ScientificandFixedNotation(scientific,fixed)

12.7.6Uppercase/LowercaseControl(uppercase)

12.7.7SpecifyingBooleanFormat(boolalpha)

12.7.8SettingandResettingtheFormatStateviaMemberFunctionflags

12.8StreamErrorStates

12.9TyinganOutputStreamtoanInputStream

15ExceptionHandling

13.1Introduction

13.2Exception-HandlingOverview

13.3OtherError-HandlingTechniques

13.4SimpleException-HandlingExample:DividebyZero

13.5RethrowinganException

13.6ExceptionSpecifications

13.7ProcessingUnexpectedExceptions

13.8StackUnwinding

13.9Constructors,DestructorsandExceptionHandling

13.10ExceptionsandInheritance

13.11ProcessingnewFailures

13.12Class&uto_ptrandDynamicMemoryAllocation

13.13StandardLibraryExceptionHierarchy

14FileProcessing

14.1Introduction

14.2TheDataHierarchy

14.3FilesandStreams

14.4CreatingaSequential-AccessFile

14.5ReadingDatafromaSequential-AccessFile

14.6UpdatingSequential-AccessFiles

14.7Random-AccessFiles

14.8CreatingaRandom-AccessFile

14.9WritingDataRandomlytoaRandom-AccessFile

14.10ReadingDataSequentiallyfromaRandom-AccessFile

14.11Example:ATransaction-ProcessingProgram

14.12Input/OutputofObjects

15ClassstringandStringStreamProcessing

15.1Introduction

15.2stringAssignmentandConcatenation

15.3Comparingstrings

15.4Substrings

15.5Swappingstrings

15.6stringCharacteristics

15.7FindingStringsandCharactersinastring

15.8ReplacingCharactersinastring

15.9InsertingCharactersintoastring

15.10ConversiontoC-Stylechar*Strings

15.11Iterators

15.12StringStreamProcessing

16WebProgrammingwithCOl

16.1Introduction

16.2HTTPRequestTypes

16.3Multi-TierArchitecture

16.4AccessingWebServers

16.5ApacheHTtPServer

16.6RequestingXHTMLDocuments

16.7IntroductiontoCGI

16.8SimpleHTTPTransaction

16.9SimpleCGIScript

16.10SendingInputtoaCGIScript

16.11UsingXHTMLFormstoSendInput

16.12OtherHeaders

16.13CaseStudy:AnInteractiveWebPage

16.14Cookies

16.15Server-SideFiles

16.16CaseStudy:ShoppingCart

16.17IntemetandWebResources

17DataStructures

17.1Introduction

17.2Self-ReferentialClasses

DynamicMemoryAllocationandDataStructures

LinkedLists

Stacks

Queues

Trees

Bits,Characters,StringsandStructures

Introduction

StructureDefinitions

InitializingStructures

UsingStructureswithFunctions

typedef

Example:High-PerformanceCard-ShufflingandDealingSimulation

BitwiseOperators

BitFields

Character-HandlingLibrary

18.10String-ConversionFunctions

18.11SearchFunctionsoftheString-HandlingLibrary

18.12MemoryFunctionsoftheString-HandlingLibrary

Preprocessor

Introduction

The#includePreprocessorDirective

The#definePreprocessorDirective:SymbolicConstants

The#definePreprocessorDirective:Macros

ConditionalCompilation

The#errorand#pragmaPreprocessorDirectives

The#and##Operators

LineNumbers

PredefinedSymbolicConstants

19.10Assertions

CLegacyCodeTopics

Introduction

RedirectingInput/OutputonUNIXandDOSSystems

Variable-LengthArgumentLists

UsingCommand-LineArguments

NotesonCompilingMultiple-Source-FilePrograms

ProgramTerminationwithexitandatexlt

ThevolaeileTypeQualifier

SuffixesforIntegerandFloating-PointConstants

SignalHandling

20.10DynamicMemoryAllocationwithcallocandreailoc

20.11TheUnconditionalBranch:goto

20.12Unions

20.13LinkageSpecifications

StandardTemplateLibrary(STL)

IntroductiontotheStandardTemplateLibrary(STL)

21.1.1IntroductiontoContainers

21.1.2IntroductiontoIterators

21.1.3IntroductiontoAlgorithms

SequenceContainers

21.2.1vectorSequenceContainer

21.2.2iistSequenceContainer

21.2.3clequeSequenceContainer

AssociativeContainers

21.3.1multisetAssociativeContainer

21.3.2set:AssociativeContainer

21.3.3multimapAssociativeContainer

21.3.4magAssociativeContainer

ContainerAdapters

21.4.1stackAdapter

21.4.2queueAdapter

21.4.3priority_queueAdapter

Algorithms

21.5.1fill,fill_n,generateandgenerate_n

21.5.2equal,mismatchandlexicographical_compare

21.5.3remove,remove_if,remove_copyandremove_copy_if

21.5.4replace,replace_if,replace_copyandreplace_copy_if

21.5.5MathematicalAlgorithms

21.5.6BasicSearchingandSortingAlgorithms

21.5.7swap,iter_swapandswap_ranges

21.5.8CODy_backward,merge,uniqueandreverse

21.5.9inplace_merge,unique_copyandreverse_color

21.5.10SetOperations

21.5.11lower_bound,uDDer_boundandequal_range

21.5.12Heapsort

21.5.13atinandmax

21.5.14AlgorithmsNotCoveredinThisChapter

Classbitset

FunctionObjects

STLIntemetandWebResources

OtherTopics

Introduction

constcastOperator

reinterpret_castOperator

namespaces

OperatorKeywords

explicitConstructors

22.7mutableClassMembers

22.8PointerstoClassMembers(.*and->*)

22.9MultipleInheritance

22.10MultipleInheritanceandrift:ualBaseClasses

22.11ClosingRemarks

OperatorPrecedenceChart

ASCIICharacterSet

NumberSystems

Introduction

AbbreviatingBinaryNumbersasOctalNumbersand

HexadecimalNumbers

ConvertingOctalNumbersandHexadecimalNumberstoBinaryNumbers

ConvertingfromBinary,OctalorHexadecimaltoDecimal

ConvertingfromDecimaltoBinary,OctalorHexadecimal

NegativeBinaryNumbers:Two'sComplementNotation

C++InternetandWebResources

Resources

Tutorials

FAQs

VisualC++

Newsgroups

CompilersandDevelopmentTools

StandardTemplateLibrary

IntroductiontoXHTML

Introduction

EditingXHTML

FirstXHTMLExample

Headers

Linking

Images

SpecialCharactersandMoreLineBreaks

UnorderedLists

NestedandOrderedLists

BasicXHTMLTables

IntermediateXHTMLTablesandFormatting

BasicXHTMLForms

MoreComplexXHTMLForms

IntemetandWorldWideWebResources

XHTMLSpecialCharacters

Bibliography

Index