本书集中介绍C++核心概念和特性,覆盖了《C++大学教程》(第五版)前13章的内容。
相信这本教材及其辅助材料包罗了教师和学生进行C++教学所需要的一切,使他们充分体验集信息性、趣味性、挑战性和娱乐性于一体的学习历程。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | C++大学基础教程(附光盘第5版英文版)/国外计算机科学教材系列 |
分类 | |
作者 | (美)戴特尔 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书集中介绍C++核心概念和特性,覆盖了《C++大学教程》(第五版)前13章的内容。 相信这本教材及其辅助材料包罗了教师和学生进行C++教学所需要的一切,使他们充分体验集信息性、趣味性、挑战性和娱乐性于一体的学习历程。 内容推荐 本书详细介绍了C++面向对象编程的核心概念和方法。与前几版相比,本书从内容和结构上都做了较大幅度的修订和有意义的提升特别是在“尽早接触类和对象”这一观点的指导下,从第1章就开始涉及类和对象的内容,从而突破了传统教学程序,使学生直接“考虑对象”和更彻底地掌握面向对象的基本概念。本书共分13章,详细讲解了计算机与互联网的基本概念、C++编程基础、类与对象的知识及控制语句等,细致分析了函数和递归、数组和标准库类模板、指针和字符串、运算符重载及继承与多态等C++常见主题。通过大量的“活代码”例程,尤其是贯穿多个章节的若干综合性实例研究,对每个新概念都用完整的、能实际运行的C++程序进行介绍,并以403条凝结了60多年编程和教学经验的六类编程提示,使学生将学习重点放在程序开发的关键部分。 本书适合作为双语教学教材,是所有对C++编程感兴趣的读者的有益参考书,既可作为高等院校计算机及相关专业的教材,也可供各类软件开发人员参考。 目录 Chapter 1 Introduction to Computers, the Internet and World Wide Web 1 1.1 Introduction 2 1.2 What Is a Computer? 3 1.3 Computer Organization 3 1.4 Early Operating Systems 4 1.5 Personal, Distributed and Client/Server Computing4 1.6 The Internet and the World Wide Web 4 1.7 Machine Languages, Assembly Languages and High-Level Languages 5 1.8 History of C and C++ 6 1.9 C++ Standard Library 6 1.10 History of Java 7 1.11 FORTRAN, COBOL, Pascal and Ada 7 1.12 Basic, Visual Basic, Visual C++, C# and .NET 8 1.13 Key Software Trend: Object Technology 8 1.14 Typical C++ Development Environment 9 1.15 Notes About C++ and Small C++ How to Program, 5/e11 1.16 Test-Driving a C++ Application 12 1.17 Introduction to Object Technology and the UML 16 1.18 Wrap-Up 20 1.19 Web Resources 21 Chapter 2 Introduction to C++ Programming 28 2.1 Introduction 28 2.2 First Program in C++: Printing a Line of Text 29 2.3 Modifying Our First C++ Program 31 2.4 Another C++ Program: Adding Integers 32 2.5 Memory Concepts 35 2.6 Arithmetic 36 2.7 Decision Making: Equality and Relational Operators39 2.8 Wrap-Up 42 Chapter 3 Introduction to Classes and Objects 50 3.1 Introduction 51 3.2 Classes, Objects, Member Functions and Data Members 51 3.3 Overview of the Chapter Examples 52 3.4 Defining a Class with a Member Function 52 3.5 Defining a Member Function with a Parameter 55 3.6 Data Members, set Functions and get Functions 57 3.7 Initializing Objects with Constructors 62 3.8 Placing a Class in a Separate File for Reusability 65 3.9 Separating Interface from Implementation 68 3.10 Validating Data with set Functions 72 3.11 Wrap-Up 76 Chapter 4 Control Statements: Part 1 82 4.1 Introduction 83 4.2 Algorithms 83 4.3 Pseudocode 83 4.4 Control Structures 84 4.5 if Selection Statement 87 4.6 if...else Double-Selection Statement 88 4.7 while Repetition Statement 92 4.8 Formulating Algorithms: Counter-Controlled Repetition 93 4.9 Formulating Algorithms: Sentinel-Controlled Repetition 97 4.10 Formulating Algorithms: Nested Control Statements105 4.11 Assignment Operators 108 4.12 Increment and Decrement Operators 109 4.13 Wrap-Up 111 Chapter 5 Control Statements: Part 2 124 5.1 Introduction 125 5.2 Essentials of Counter-Controlled Repetition 125 5.3 for Repetition Statement 126 5.4 Examples Using the for Statement 130 5.5 do...while Repetition Statement 133 5.6 switch Multiple-Selection Statement 134 5.7 break and continue Statements 141 5.8 Logical Operators 143 5.9 Confusing Equality (==) and Assignment (=) Operators 146 5.10 Structured Programming Summary 147 5.11 Wrap-Up 150 Chapter 6 Functions and an Introduction to Recursion159 6.1 Introduction 160 6.2 Program Components in C++ 160 6.3 Math Library Functions 162 6.4 Function Definitions with Multiple Parameters 162 6.5 Function Prototypes and Argument Coercion 166 6.6 C++ Standard Library Header Files 168 6.7 Case Study: Random Number Generation 169 6.8 Case Study: Game of Chance and Introducing enum 173 6.9 Storage Classes 175 6.10 Scope Rules 177 6.11 Function Call Stack and Activation Records 180 6.12 Functions with Empty Parameter Lists 182 6.13 Inline Functions 183 6.14 References and Reference Parameters 184 6.15 Default Arguments 188 6.16 Unary Scope Resolution Operator 189 6.17 Function Overloading 190 6.18 Function Templates 192 6.19 Recursion 194 6.20 Example Using Recursion: Fibonacci Series 196 6.21 Recursion vs. Iteration 199 6.22 Wrap-Up 200 Chapter 7 Arrays and Vectors 218 7.1 Introduction 218 7.2 Arrays 219 7.3 Declaring Arrays 220 7.4 Examples Using Arrays 221 7.5 Passing Arrays to Functions 232 7.6 Case Study: Class GradeBook Using an Array to Store Grades 235 7.7 Searching Arrays with Linear Search 240 7.8 Sorting Arrays with Insertion Sort 241 7.9 Multidimensional Arrays 243 7.10 Case Study: Class GradeBook Using a Two-Dimensional Array 245 7.11 Introduction to C++ Standard Library Class Template vector 250 7.12 Wrap-Up 253 Chapter 8 Pointers and Pointer-Based Strings 267 8.1 Introduction 268 8.2 Pointer Variable Declarations and Initialization 268 8.3 Pointer Operators 269 8.4 Passing Arguments to Functions by Reference with Pointers 271 8.5 Using const with Pointers 274 8.6 Selection Sort Using Pass-by-Reference 279 8.7 sizeof Operators 281 8.8 Pointer Expressions and Pointer Arithmetic 283 8.9 Relationship Between Pointers and Arrays 285 8.10 Arrays of Pointers 288 8.11 Case Study: Card Shuffling and Dealing Simulation 289 8.12 Function Pointers 293 8.13 Introduction to Pointer-Based String Processing 297 8.14 Wrap-Up 304 Chapter 9 Classes: A Deeper Look, Part 1 324 9.1 Introduction 325 9.2 Time Class Case Study 325 9.3 Class Scope and Accessing Class Members 329 9.4 Separating Interface from Implementation 331 9.5 Access Functions and Utility Functions 332 9.6 Time Class Case Study: Constructors with Default Arguments 334 9.7 Destructors 337 9.8 When Constructors and Destructors Are Called 338 9.9 Time Class Case Study: A Subtle Trap—Returning a Reference to a private Data Member 340 9.10 Default Memberwise Assignment 342 9.11 Software Reusability 344 9.12 Wrap-Up 344 Chapter 10 Classes: A Deeper Look, Part 2 350 10.1 Introduction 351 10.2 const (Constant) Objects and const Member Functions 351 10.3 Composition: Objects as Members of Classes 357 10.4 friend Functions and friend Classes 362 10.5 Using the this Pointer 365 10.6 Dynamic Memory Management with Operators new and delete 368 10.7 static Class Members 370 10.8 Data Abstraction and Information Hiding 374 10.9 Container Classes and Iterators 376 10.10 Proxy Classes 376 10.11 Wrap-Up 379 Chapter 11 Operator Overloading; String and Array Objects 384 11.1 Introduction 385 11.2 Fundamentals of Operator Overloading 385 11.3 Restrictions on Operator Overloading 386 11.4 Operator Functions as Class Members vs. Global Functions 387 11.5 Overloading Stream Insertion and Stream Extraction Operators 388 11.6 Overloading Unary Operators 391 11.7 Overloading Binary Operators 391 11.8 Case Study: Array Class 392 11.9 Converting between Types 400 11.10 Case Study: String Class 401 11.11 Overloading ++ and -- 410 11.12 Case Study: A Date Class 411 11.13 Standard Library Class string 414 11.14 explicit Constructors 417 11.15 Wrap-Up 419 Chapter 12 Object-Oriented Programming: Inheritance 428 12.1 Introduction 429 12.2 Base Classes and Derived Classes 430 12.3 protected Members 431 12.4 Relationship between Base Classes and Derived Classes 432 12.5 Constructors and Destructors in Derived Classes 453 12.6 public, protected and private Inheritance 459 12.7 Software Engineering with Inheritance 459 12.8 Wrap-Up 460 Chapter 13 Object-Oriented Programming: Polymorphism 465 13.1 Introduction 466 13.2 Polymorphism Examples 467 13.3 Relationships Among Objects in an Inheritance Hierarchy 468 13.4 Type Fields and switch Statements 480 13.5 Abstract Classes and Pure virtual Functions 480 13.6 Case Study: Payroll System Using Polymorphism 482 13.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding nder the Hood?494 13.8 Case Study: Payroll System Using Polymorphism and Run-Time Type Information with Downcasting, dynamic_cast, typeid and type_info 497 13.9 Virtual Destructors 499 13.10 Wrap-Up 500 Appendix A Operator Precedence and Associativity Chart 504 Appendix B ASCII Character Set 506 Appendix C Fundamental Types 507 Appendix D Number Systems 508 Appendix E C++ Internet and Web Resources 518 Appendix F Using the Visual Studio.NET Debugger 522 Appendix G Using the GNU C++ Debugger 534 Bibliography 547 Index 551 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。