首页 > 图书中心 > C++语言程序设计(英文版)

目录

Chapter 1Introduction1

1.1The Development of Computer Programming Language1

1.1.1Machine Language and Assembly Language1

1.1.2Highlevel Language2

1.1.3Objectoriented Language2

1.2Objectoriented Method3

1.2.1The Origin of Objectoriented Method3

1.2.2Basic Concepts of Objectoriented 5

1.3Objectoriented Software Development6

1.3.1Analysis7

1.3.2Design7

1.3.3Programming7

1.3.4Test7

1.3.5Maintenance8

1.4Representation and Storage of Information8

1.4.1Digital System of Computer8

1.4.2Conversions among Numeral Systems10

1.4.3Storage Units of Information13

1.4.4Binarycoded Representation13

1.4.5Fixed Point Number and Floating Point Number17

1.4.6The Number Range That Can Be Represented18

1.4.7Representation of Nonnumerical Information19

1.5The Development Process of Programs 20

1.5.1Elementary Terms20

1.5.2The Development Process20

Summary21

Exercises22

Chapter 2Elementary C++ Programming23

2.1An Overview of C++Language23

2.1.1Origins of C++23

2.1.2Characteristics of C++24

2.1.3C++Programming Examples24

2.1.4Character Set26

2.1.5Lexical Tokens26

2.2Basic Data Types and Expressions28

2.2.1Basic Data Types29

2.2.2Constants30

2.2.3Variables32

2.2.4Symbol Constants33

2.2.5Operators and Expressions34

2.2.6Statement43

2.3Data Input and Output44

2.3.1I/O Stream44

2.3.2Predefined Input and Output Operator44

2.3.3Simple I/O Format Control45

2.4The Fundamental Control Structures of Algorithms46

2.4.1Achieving Case Structure Using if Statement47

2.4.2Multiple Selection Structure48

2.4.3Loop Structure51

2.4.4Nestings of Loop Structure and Case Structure57

2.4.5Other Control Statements59

2.5UserDefined Data Type60

2.5.1typedef Declaration60

2.5.2Enumeration Type—enum60

2.5.3Structure62

2.5.4Union65

Summary67

Exercises68

Chapter 3 Functions72

3.1Definition and Use of Function72

3.1.1Definition of Function72

3.1.2Function Calls73

3.1.3Passing Parameters between Functions86

3.2Inline Functions90

3.3Default Formal Parameters in Functions92

3.4Function Overloading94

3.5Using C++ System Functions97

Summary99

Exercises100

Chapter 4Class and Object102

4.1Basic Features of ObjectOriented Design102

4.1.1Abstraction102

4.1.2Encapsulation103

4.1.3Inheritance104

4.1.4Polymorphism104

4.2Class and Object105

4.2.1Definition of Class 106

4.2.2Access Control to Class Members107

4.2.3Member Function of Class108

4.2.4Object110

4.2.5Program Instance111

4.3Constructor and Destructor112

4.3.1Class Constructor112

4.3.2The Copy Constructor115

4.3.3Class Destructor119

4.3.4Program Instance120

4.4Combination of Classes121

4.4.1Combination122

4.4.2Forward Declaration126

4.5UML128

4.5.1Brief Introduction of UML128

4.5.2UML Class Diagrams129

4.6Program Instance—Personnel Information Management Program135

4.6.1Design of Class135

4.6.2Source Code and Description136

4.6.3Running Result and Analyses138

Summary138

Exercises139

Chapter 5Data Sharing and Protecting141

5.1Scope and Visibility of Identifiers141

5.1.1Scope141

5.1.2Visibility143

5.2Lifetime of Object144

5.2.1Static Lifetime144

5.2.2Dynamic Lifetime144

5.3Static Members of Class147

5.3.1Static Data Member148

5.3.2Static Function Member150

5.4Friend of Class152

5.4.1Friend Function154

5.4.2Friend Class156

5.5Protection of Shared Data157

5.5.1Constant Reference157

5.5.2Constant Object158

5.5.3Class Members Modified by const159

5.6Multifile Structure and Compilation Preprocessing Directives161

5.6.1General Organization Structure of C++Program161

5.6.2External Variable and External Function164

5.6.3Standard C++Library and Namespace165

5.6.4Compilation Preprocessing166

5.7Example—Personnel Information Management Program170

Summary174

Exercises174

Chapter 6Arrays, Pointers and Strings176

6.1Arrays176

6.1.1Declaration and Use of Arrays177

6.1.2Storage and Initialization of Arrays179

6.1.3Using Arrays as Function Parameters181

6.1.4Object Arrays183

6.1.5Program Examples185

6.2Pointers189

6.2.1Access Method of Memory Space189

6.2.2Declaration of Pointer Variables190

6.2.3Operations Related to Addresses—‘’ and ‘&’191

6.2.4Assignment of Pointers192

6.2.5Pointer Operations195

6.2.6Using Pointers to Process Array Elements196

6.2.7Pointer Arrays198

6.2.8Using Pointers as Function Parameters200

6.2.9Functions of Pointer Type202

6.2.10Pointers that Point to Functions203

6.2.11Object Pointers205

6.3Dynamic Memory Allocation211

6.3.1new Operation and delete Operation211

6.3.2Dynamic Memory Allocation and Release Functions216

6.4Deep Copy and Shallow Copy216

6.5Strings220

6.5.1Using Character Arrays to Store and Process Strings221

6.5.2The string Class223

6.6Program Example—Personnel Information Management Program226

Summary230

Exercises231

Chapter 7Inheritance and Derivation234

7.1Inheritance and Derivation of Class234

7.1.1Instances of Inheritance and Derivation234

7.1.2Definition of Derived Class236

7.1.3The Generation Process of Derived Class238

7.2Access Control240

7.2.1Public Inheritance240

7.2.2Private Inheritance 243

7.2.3Protected Inheritance245

7.3Type Compatible Rule 247

7.4Constructor and Destructor of Derived Class250

7.4.1Constructor251

7.4.2Copy Constructor254

7.4.3Destructor255

7.5Identification and Access of DerivedClass Member257

7.5.1Scope Resolution257

7.5.2Virtual Base Class263

7.5.3Constructors of Virtual Base Class and Derived Class266

7.6Program Example: Solving Linear Equations by Gaussian Elimination 

Method267

7.6.1Fundamental Principles 268

7.6.2Analysis of the Program Design269

7.6.3Source Code and Explanation269

7.6.4Execution Result and Analysis275

7.7Program Example: Personnel Information Management Program276

7.7.1Problem Description 276

7.7.2Class Design276

7.7.3Source Code and Explanation276

7.7.4Running Result and Analysis282

Summary283

Exercises284

Chapter 8Polymorphism286

8.1An Overview of polymorphism286

8.1.1Types of Polymorphism286

8.1.2Implementation of Polymorphism287

8.2Operator Overload287

8.2.1Rules of Operator Overload288

8.2.2Operator Overloaded as Member Function289

8.2.3Operator Overloaded as Friend Function294

8.3Virtual Function296

8.3.1Ordinary Virtual Function Member297

8.3.2Virtual Destructor300

8.4Abstract Class301

8.4.1Pure Virtual Function302

8.4.2Abstract Class302

8.5Program Instance: Variable Stepwise Trapezoid Method to Calculate 

Functional Definite Integral304

8.5.1Basic Principle 304

8.5.2Analysis of Program Design306

8.5.3Source Code and Explanation307

8.5.4Execution Result and Analysis310

8.6Program Instance: Improvement to Staff Information Management

System in a Small Corporation310

Summary316

Exercises317

Chapter 9Collections and Their Organization319

9.1Function Template and Class Template320

9.1.1Function Template320

9.1.2Class Template323

9.2Linear Collection326

9.2.1Definition of Linear Collection326

9.2.2Direct Accessible Linear Collection—Array328

9.2.3Sequential Access Collection—Linked List337

9.2.4Stack343

9.2.5Queues349

9.3Organizing Data in Linear Collection352

9.3.1Insertion Sort352

9.3.2Selection Sort353

9.3.3Exchange Sort355

9.3.4Sequential Search 356

9.3.5Binary Search357

9.4Application—Improving the HR Management Program of a Small 

Company358

Summary359

Exercises360

Chapter 10Generic Programming and STL362

10.1Generic Programming362

10.1.1Introduction362

10.1.2Namespace363

10.1.3Differences of Naming Conventions between C/C++364

10.1.4Concepts of STL365

10.2Containers in STL367

10.2.1Sequential Container367

10.2.2Adapters of Containers375

10.3Iterators377

10.3.1Types of Iterators378

10.3.2Auxiliary Functions in Iterators379

10.4Algorithms in STL381

10.4.1Using the Algorithms381

10.4.2NonMutating Sequence Algorithms383

10.4.3Mutating Sequence Algorithms385

10.4.4Sorting Related Algorithms389

10.4.5Numerical Algorithms393

10.5Function Objects394

10.6Application—Improving the HR Management 

Program of a Small Company397

Summary399

Exercises399

Chapter 11The I/O Stream Library and Input/Output401

11.1I/O Streams Concept and the Structure of Stream Library401

11.2Output Stream404

11.2.1Construct Output Object404

11.2.2The Use of Inserter and Manipulator405

11.2.3Output File Stream Member Function409

11.2.4Binary Output File412

11.3Input Stream413

11.3.1Construct Input Stream Object413

11.3.2Extraction Operator414

11.3.3Input Stream Manipulator414

11.3.4Input Stream Member Function414

11.4Input/Output Stream418

11.5Example—Improve Employee Information Management System418

Summary421

Exercises421

Chapter 12Exception Handling423

12.1Basic Concepts of Exception Handling423

12.2The Implementation of Exception Handling in C++424

12.2.1The Syntax of Exception Handling424

12.2.2Exception Interface Declaration427

12.3Destruction and Construction in Exception Handling427

12.4Exception Handling of Standard Library430

12.5Program Example—Improvement to Personal Information Administration 

Program in a Small Company431

Summary433

Exercises433

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘