Programming

Principles and Practice Using C++

Specificaties
E-book, blz. | Engels
Pearson Education | e druk, 2024
ISBN13: 9780138308643
Rubricering
Juridisch :
Pearson Education e druk, 2024 9780138308643
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

An Introduction to Programming by the Inventor of C++

Programming: Principles and Practice Using C++, Third Edition, will help anyone who is willing to work hard learn the fundamental principles of programming and develop the practical skills needed for programming in the real world. Previous editions have been used successfully by many thousands of students. This revised and updated edition Assumes that your aim is to eventually write programs that are good enough for others to use and maintain Focuses on fundamental concepts and techniques, rather than on obscure language-technical details Is an introduction to programming in general, including procedural, object-oriented, and generic programming, rather than just an introduction to a programming language Covers both contemporary high-level techniques and the lower-level techniques needed for efficient use of hardware Will give you a solid foundation for writing useful, correct, type-safe, maintainable, and efficient code Is primarily designed for people who have never programmed before, but even seasoned programmers have found previous editions useful as an introduction to more effective concepts and techniques Covers a wide range of essential concepts, design and programming techniques, language features, and libraries Uses contemporary C++ (C++20 and C++23) Covers the design and use of both built-in types and user-defi ned types, complete with input, output, computation, and simple graphics/GUI Offers an introduction to the C++ standard library containers and algorithms

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Specificaties

ISBN13:9780138308643
Taal:Engels
Bindwijze:e-book

Inhoudsopgave

<p>Preface ix</p> <p><strong>Chapter 0: Notes to the Reader 1</strong><br>0.1 The structure of this book 2<br>0.2 A philosophy of teaching and learning 5<br>0.3 ISO standard C++ 8<br>0.4 PPP support 11<br>0.5 Author biography 13<br>0.6 Bibliography 13</p> <p><strong>Part I: The Basics</strong></p> <p><strong>Chapter 1: Hello, World! 17</strong><br>1.1 Programs 18<br>1.2 The classic first program 18<br>1.3 Compilation 21<br>1.4 Linking 23<br>1.5 Programming environments 24</p> <p><strong>Chapter 2: Objects, Types, and Values 29</strong><br>2.1 Input 30<br>2.2 Variables 32<br>2.3 Input and type 33<br>2.4 Operations and operators 34<br>2.5 Assignment and initialization 36<br>2.6 Names 40<br>2.7 Types and objects 42<br>2.8 Type safety 43<br>2.9 Conversions 44<br>2.10 Type deduction: auto 46</p> <p><strong>Chapter 3 Computation 51</strong><br>3.1 Computation 52<br>3.2 Objectives and tools 53<br>3.3 Expressions 55<br>3.4 Statements 58<br>3.5 Functions 68<br>3.6 vector 71<br>3.7 Language features 77</p> <p><strong>Chapter 4: Errors! 83</strong><br>4.1 Introduction 84<br>4.2 Sources of errors 85<br>4.3 Compile-time errors 86<br>4.4 Link-time errors 88<br>4.5 Run-time errors 89<br>4.6 Exceptions 94<br>4.7 Avoiding and finding errors 99</p> <p><strong>Chapter 5: Writing a Program 115</strong><br>5.1 A problem 116<br>5.2 Thinking about the problem 116<br>5.3 Back to the calculator! 119<br>5.4 Back to the drawing board 126<br>5.5 Turning a grammar into code 130<br>5.6 Trying the first version 136<br>5.7 Trying the second version 140<br>5.8 Token streams 142<br>5.9 Program structure 146</p> <p><strong>Chapter 6: Completing a Program 151</strong><br>6.1 Introduction 152<br>6.2 Input and output 152<br>6.3 Error handling 154<br>6.4 Negative numbers 156<br>6.5 Remainder: % 157<br>6.6 Cleaning up the code 158<br>6.7 Recovering from errors164<br>6.8 Variables 167</p> <p><strong>Chapter 7: Technicalities: Functions, etc. 179</strong><br>7.1 Technicalities 180<br>7.2 Declarations and definitions 181<br>7.3 Scope 186<br>7.4 Function call and return 190<br>7.5 Order of evaluation 206<br>7.6 Namespaces 209<br>7.7 Modules and headers 211</p> <p><strong>Chapter 8: Technicalities: Classes, etc. 221</strong><br>8.1 User-defined types 222<br>8.2 Classes and members 223<br>8.3 Interface and implementation 223<br>8.4 Evolving a class: Date 225<br>8.5 Enumerations 233<br>8.6 Operator overloading 236<br>8.7 Class interfaces 237</p> <p><strong>Part II: Input and Output</strong></p> <p><strong>Chapter 9: Input and Output Streams 251</strong><br>9.1 Input and output 252<br>9.2 The I/O stream model 253<br>9.3 Files 254<br>9.4 I/O error handling 258<br>9.5 Reading a single value 261<br>9.6 User-defined output operators 266<br>9.7 User-defined input operators 266<br>9.8 A standard input loop 267<br>9.9 Reading a structured file 269<br>9.10 Formatting 276<br>9.11 String streams 283</p> <p><strong>Chapter 10: A Display Model 289</strong><br>10.1 Why graphics? 290<br>10.2 A display model 290<br>10.3 A first example 292<br>10.4 Using a GUI library 295<br>10.5 Coordinates 296<br>10.6 Shapes 297<br>10.7 Using Shape primitives297<br>10.8 Getting the first example to run 309</p> <p><strong>Chapter 11: Graphics Classes 315</strong><br>11.1 Overview of graphics classes 316<br>11.2 Point and Line 317<br>11.3 Lines 320<br>11.4 Color 323<br>11.5 Line_style 325<br>11.6 Polylines 328<br>11.7 Closed shapes 333<br>11.8 Text 346<br>11.9 Mark 348<br>11.10 Image 350</p> <p><strong>Chapter 12: Class Design 355</strong><br>12.1 Design principles 356<br>12.2 Shape 360<br>12.3 Base and derived classes 367<br>12.4 Other Shape functions 375<br>12.5 Benefits of object-oriented programming 376</p> <p><strong>Chapter 13: Graphing Functions and Data 381</strong><br>13.1 Introduction 382<br>13.2 Graphing simple functions 382<br>13.3 Function 386<br>13.4 Axis 390<br>13.5 Approximation 392<br>13.6 Graphing data 397</p> <p><strong>Chapter 14: Graphical User Interfaces 409</strong><br>14.1 User-interface alternatives 410<br>14.2 The “Next” button 411<br>14.3 A simple window 412<br>14.4 Button and other Widgets 414<br>14.5 An example: drawing lines 419<br>14.6 Simple animation 426<br>14.7 Debugging GUI code 427</p> <p><strong>Part III: Data and Algorithms</strong></p> <p><strong>Chapter 15: Vector and Free Store 435</strong><br>15.1 Introduction 436<br>15.2 vector basics 437<br>15.3 Memory, addresses, and pointers 439<br>15.4 Free store and pointers 442<br>15.5 Destructors 447<br>15.6 Access to elements 451<br>15.7 An example: lists 452<br>15.8 The this pointer 456</p> <p><strong>Chapter 16: Arrays, Pointers, and References 463</strong><br>16.1 Arrays 464<br>16.2 Pointers and references468<br>16.3 C-style strings 471<br>16.4 Alternatives to pointer use 472<br>16.5 An example: palindromes 475</p> <p><strong>Chapter 17: Essential Operations 483</strong><br>17.1 Introduction 484<br>17.2 Access to elements 484<br>17.3 List initialization 486<br>17.4 Copying and moving 488<br>17.5 Essential operations 495<br>17.6 Other useful operations500<br>17.7 Remaining Vector problems 502<br>17.8 Changing size 504<br>17.9 Our Vector so far 509</p> <p><strong>Chapter 18: Templates and Exceptions 513</strong><br>18.1 Templates 514<br>18.2 Generalizing Vector 522<br>18.3 Range checking and exceptions 525<br>18.4 Resources and exceptions 529<br>18.5 Resource-management pointers 537</p> <p><strong>Chapter 19: Containers and Iterators 545</strong><br>19.1 Storing and processing data 546<br>19.2 Sequences and iterators552<br>19.3 Linked lists 555<br>19.4 Generalizing Vector yet again 560<br>19.5 An example: a simple text editor 566<br>19.6 vector, list, and string 572</p> <p><strong>Chapter 20: Maps and Sets 577</strong><br>20.1 Associative containers 578<br>20.2 map 578<br>20.3 unordered_map 585<br>20.4 Timing 586<br>20.5 set 589<br>20.6 Container overview 591<br>20.7 Ranges and iterators 597</p> <p><strong>Chapter 21: Algorithms 603</strong><br>21.1 Standard-library algorithms 604<br>21.2 Function objects 610<br>21.3 Numerical algorithms 614<br>21.4 Copying 619<br>21.5 Sorting and searching 620</p> <p>Index 625</p>

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Programming