چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Core C++ : a software engineering approach

Victor Shtern

قیمت نهایی

۴۹٬۰۰۰ تومان

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

نویسنده
Victor Shtern
سال انتشار
۲۰۰۰
فرمت
PDF
زبان
انگلیسی
تعداد صفحات
۷۹ صفحه
حجم فایل
۵٫۸ مگابایت
شابک
9780130832450، 9780130857293، 0130832456، 0130857297

دربارهٔ کتاب

This book is written for professionals who are looking for a no-nonsense presentation of practicaldetails combined with a deep understanding of C++ subtleties.This book is written for you if you are looking for practical details of new technologies with athorough discussion of their use.It is written for you if you have experience in other languages and are moving to C++. If you are anexperienced C++ programmer, you will find this book useful and sometimes an eye-opener. If thisis your first programming book (and this is perfectly all right if it is), you will be well rewarded forthe effort spent on reading it. oreilly.com......Page 0 Safari | Core C++ A Software Engineering Approach......Page 1 Safari | Core C++ A Software Engineering Approach......Page 3 Safari | Core C++ A Software Engineering Approach......Page 5 Safari | Core C++ A Software Engineering Approach -> Preface......Page 9 Safari | Core C++ A Software Engineering Approach -> How Is This Different from Other C++ Books?......Page 10 Safari | Core C++ A Software Engineering Approach -> Who This Book Is For......Page 12 Safari | Core C++ A Software Engineering Approach -> How This Book Is Organized......Page 13 Safari | Core C++ A Software Engineering Approach -> Conventions Used in This Book......Page 14 Safari | Core C++ A Software Engineering Approach -> Accessing the Source Code......Page 15 Safari | Core C++ A Software Engineering Approach -> Feedback......Page 16 Safari | Core C++ A Software Engineering Approach -> Acknowledgments......Page 17 Safari | Core C++ A Software Engineering Approach -> I: Introduction to Programming with C++......Page 19 Safari | Core C++ A Software Engineering Approach -> 1. Object-oriented approach: What's So Good About It?......Page 21 Safari | Core C++ A Software Engineering Approach -> The Origins of the Software Crisis......Page 23 Safari | Core C++ A Software Engineering Approach -> Remedy 1: Eliminating Programmers......Page 28 Safari | Core C++ A Software Engineering Approach -> Remedy 2: Improved Management Techniques......Page 31 Safari | Core C++ A Software Engineering Approach -> Remedy 3: Designing a Complex and Verbose Language......Page 34 Safari | Core C++ A Software Engineering Approach -> The Object-Oriented Approach: Are We Getting Something for Nothing?......Page 36 Safari | Core C++ A Software Engineering Approach -> Characteristics of the C++ Programming Language......Page 46 Safari | Core C++ A Software Engineering Approach -> Summary......Page 51 Safari | Core C++ A Software Engineering Approach -> 2. Getting Started Quickly: A Brief Overview of C++......Page 52 Safari | Core C++ A Software Engineering Approach -> The Basic Program Structure......Page 54 Safari | Core C++ A Software Engineering Approach -> Preprocessor Directives......Page 57 Safari | Core C++ A Software Engineering Approach -> Comments......Page 62 Safari | Core C++ A Software Engineering Approach -> Declarations and Definitions......Page 66 Safari | Core C++ A Software Engineering Approach -> Statements and Expressions......Page 72 Safari | Core C++ A Software Engineering Approach -> Functions and Function Calls......Page 80 Safari | Core C++ A Software Engineering Approach -> Classes......Page 87 Safari | Core C++ A Software Engineering Approach -> Dealing with Program Development Tools......Page 91 Safari | Core C++ A Software Engineering Approach -> Summary......Page 95 Safari | Core C++ A Software Engineering Approach -> 3. Working with C++ Data and Expressions......Page 96 Safari | Core C++ A Software Engineering Approach -> Values and Their Types......Page 97 Safari | Core C++ A Software Engineering Approach -> Integral Types......Page 101 Safari | Core C++ A Software Engineering Approach -> Floating Point Types......Page 111 Safari | Core C++ A Software Engineering Approach -> Working with C++ Expressions......Page 114 Safari | Core C++ A Software Engineering Approach -> Mixed Expressions: Hidden Dangers......Page 127 Safari | Core C++ A Software Engineering Approach -> Summary......Page 133 Safari | Core C++ A Software Engineering Approach -> 4. C++ Control Flow......Page 134 Safari | Core C++ A Software Engineering Approach -> Statements and Expressions......Page 136 Safari | Core C++ A Software Engineering Approach -> Conditional Statements......Page 138 Safari | Core C++ A Software Engineering Approach -> Iteration......Page 159 Safari | Core C++ A Software Engineering Approach -> C++ Jump Statements......Page 173 Safari | Core C++ A Software Engineering Approach -> Summary......Page 185 Safari | Core C++ A Software Engineering Approach -> 5. Aggregation with Programmer-Defined Data Types......Page 186 Safari | Core C++ A Software Engineering Approach -> Arrays as Homogeneous Aggregates......Page 188 Safari | Core C++ A Software Engineering Approach -> Structures as Heterogeneous Aggregates......Page 211 Safari | Core C++ A Software Engineering Approach -> Unions, Enumerations, and Bit Fields......Page 218 Safari | Core C++ A Software Engineering Approach -> Summary......Page 228 Safari | Core C++ A Software Engineering Approach -> 6. Memory Management: the Stack and the Heap......Page 229 Safari | Core C++ A Software Engineering Approach -> Name Scope as a Tool for Cooperation......Page 231 Safari | Core C++ A Software Engineering Approach -> Memory Management: Storage Classes......Page 239 Safari | Core C++ A Software Engineering Approach -> Memory Management: Using Heap......Page 250 Safari | Core C++ A Software Engineering Approach -> Input and Output with Disk Files......Page 281 Safari | Core C++ A Software Engineering Approach -> Summary......Page 291 Safari | Core C++ A Software Engineering Approach -> II: Object-oriented programing with C++......Page 293 Safari | Core C++ A Software Engineering Approach -> 7. Programming With C++ Functions......Page 295 Safari | Core C++ A Software Engineering Approach -> C++ Functions as Modularization Tools......Page 297 Safari | Core C++ A Software Engineering Approach -> Argument Promotions and Conversions......Page 302 Safari | Core C++ A Software Engineering Approach -> Parameter Passing in C++......Page 305 Safari | Core C++ A Software Engineering Approach -> Inline Functions......Page 331 Safari | Core C++ A Software Engineering Approach -> Parameters with Default Values......Page 335 Safari | Core C++ A Software Engineering Approach -> Function Name Overloading......Page 341 Safari | Core C++ A Software Engineering Approach -> Summary......Page 349 Safari | Core C++ A Software Engineering Approach -> 8. Object-Oriented Programming with Functions......Page 351 Safari | Core C++ A Software Engineering Approach -> Cohesion......Page 354 Safari | Core C++ A Software Engineering Approach -> Coupling......Page 356 Safari | Core C++ A Software Engineering Approach -> Data Encapsulation......Page 368 Safari | Core C++ A Software Engineering Approach -> Information Hiding......Page 374 Safari | Core C++ A Software Engineering Approach -> A Larger Example of Encapsulation......Page 380 Safari | Core C++ A Software Engineering Approach -> Shortcomings of Encapsulation with Functions......Page 388 Safari | Core C++ A Software Engineering Approach -> Summary......Page 390 Safari | Core C++ A Software Engineering Approach -> 9. C++ Class as a Unit of Modularization......Page 392 Safari | Core C++ A Software Engineering Approach -> Basic Class Syntax......Page 395 Safari | Core C++ A Software Engineering Approach -> Binding Together Data and Operations......Page 396 Safari | Core C++ A Software Engineering Approach -> Elimination of Name Conflicts......Page 400 Safari | Core C++ A Software Engineering Approach -> Implementing Member Functions Outside of Class......Page 404 Safari | Core C++ A Software Engineering Approach -> Defining Class Objects of Different Storage Classes......Page 408 Safari | Core C++ A Software Engineering Approach -> Controlling Access to Class Members......Page 410 Safari | Core C++ A Software Engineering Approach -> Initialization of Object Instances......Page 416 Safari | Core C++ A Software Engineering Approach -> Constructors as Member Functions......Page 418 Safari | Core C++ A Software Engineering Approach -> Default Constructors......Page 421 Safari | Core C++ A Software Engineering Approach -> Copy Constructors......Page 424 Safari | Core C++ A Software Engineering Approach -> Conversion Constructors......Page 428 Safari | Core C++ A Software Engineering Approach -> Destructors......Page 430 Safari | Core C++ A Software Engineering Approach -> Timing of Constructor and Destructor Invocations......Page 435 Safari | Core C++ A Software Engineering Approach -> Class Scope and the Overriding of Names in Nested Scopes......Page 436 Safari | Core C++ A Software Engineering Approach -> Memory Management with Operators and Function Calls......Page 439 Safari | Core C++ A Software Engineering Approach -> Using Returned Objects in Client Code......Page 442 Safari | Core C++ A Software Engineering Approach -> More on the const Keyword......Page 447 Safari | Core C++ A Software Engineering Approach -> Static Class Members......Page 453 Safari | Core C++ A Software Engineering Approach -> Summary......Page 461 Safari | Core C++ A Software Engineering Approach -> 10. Operator Functions: Another Good idea......Page 462 Safari | Core C++ A Software Engineering Approach -> Overloading of Operators......Page 464 Safari | Core C++ A Software Engineering Approach -> Limitations on Operator Overloading......Page 471 Safari | Core C++ A Software Engineering Approach -> Overloaded Operators as Class Members......Page 476 Safari | Core C++ A Software Engineering Approach -> Case Study: Rational Numbers......Page 483 Safari | Core C++ A Software Engineering Approach -> Mixed Types as Parameters......Page 492 Safari | Core C++ A Software Engineering Approach -> Friend Functions......Page 500 Safari | Core C++ A Software Engineering Approach -> Summary......Page 512 Safari | Core C++ A Software Engineering Approach -> 11. Constructors and Destructors: Potential Trouble......Page 513 Safari | Core C++ A Software Engineering Approach -> More on Passing Objects by Value......Page 516 Safari | Core C++ A Software Engineering Approach -> Operator Overloading for Nonnumeric Classes......Page 522 Safari | Core C++ A Software Engineering Approach -> More on the Copy Constructor......Page 537 Safari | Core C++ A Software Engineering Approach -> Overloading the Assignment Operator......Page 551 Safari | Core C++ A Software Engineering Approach -> Practical Considerations: What to Implement......Page 560 Safari | Core C++ A Software Engineering Approach -> Summary......Page 563 Safari | Core C++ A Software Engineering Approach -> III: Object-Oriented Programming with Aggregation and Inheritance......Page 565 Safari | Core C++ A Software Engineering Approach -> 12. Composite Classes: Pitfalls and Advantages......Page 566 Safari | Core C++ A Software Engineering Approach -> Using Class Objects as Data Members......Page 568 Safari | Core C++ A Software Engineering Approach -> Initialization of Composite Objects......Page 575 Safari | Core C++ A Software Engineering Approach -> Data Members with Special Properties......Page 587 Safari | Core C++ A Software Engineering Approach -> Container Classes......Page 596 Safari | Core C++ A Software Engineering Approach -> Summary......Page 614 Safari | Core C++ A Software Engineering Approach -> 13. Similar Classes: How to Treat Them......Page 615 Safari | Core C++ A Software Engineering Approach -> Treating Similar Classes......Page 618 Safari | Core C++ A Software Engineering Approach -> Syntax of C++ Inheritance......Page 630 Safari | Core C++ A Software Engineering Approach -> Accessing Base and Derived Class Services......Page 637 Safari | Core C++ A Software Engineering Approach -> Accessing Base Components of a Derived Class Object......Page 641 Safari | Core C++ A Software Engineering Approach -> Scope Rules and Name Resolution Under Inheritance......Page 655 Safari | Core C++ A Software Engineering Approach -> Constructors and Destructors for Derived Classes......Page 668 Safari | Core C++ A Software Engineering Approach -> Summary......Page 676 Safari | Core C++ A Software Engineering Approach -> 14. Choosing between Inheritance and Composition......Page 677 Safari | Core C++ A Software Engineering Approach -> Choosing a Technique for Code Reuse......Page 679 Safari | Core C++ A Software Engineering Approach -> Unified Modeling Language......Page 695 Safari | Core C++ A Software Engineering Approach -> Case Study: A Rental Store......Page 706 Safari | Core C++ A Software Engineering Approach -> On Class Visibility and Division of Responsibilities......Page 721 Safari | Core C++ A Software Engineering Approach -> Summary......Page 728 Safari | Core C++ A Software Engineering Approach -> IV: Advanced uses of C++......Page 729 Safari | Core C++ A Software Engineering Approach -> 15. Virtual Functions and other Advanced Uses of Inheritance......Page 731 Safari | Core C++ A Software Engineering Approach -> Conversions Between Nonrelated Classes......Page 734 Safari | Core C++ A Software Engineering Approach -> Conversions Between Classes Related Through Inheritance......Page 742 Safari | Core C++ A Software Engineering Approach -> Virtual Functions: Yet Another New Idea......Page 763 Safari | Core C++ A Software Engineering Approach -> Multiple Inheritance: Several Base Classes......Page 793 Safari | Core C++ A Software Engineering Approach -> Summary......Page 804 Safari | Core C++ A Software Engineering Approach -> 16. Advanced Uses of Operator Overloading......Page 806 Safari | Core C++ A Software Engineering Approach -> Operator Overloading: A Brief Overview......Page 807 Safari | Core C++ A Software Engineering Approach -> Unary Operators......Page 815 Safari | Core C++ A Software Engineering Approach -> Subscript and Function Call Operators......Page 832 Safari | Core C++ A Software Engineering Approach -> Input/Output Operators......Page 846 Safari | Core C++ A Software Engineering Approach -> Summary......Page 853 Safari | Core C++ A Software Engineering Approach -> 17. Templates: Yet Another Design Tool......Page 854 Safari | Core C++ A Software Engineering Approach -> A Simple Example of a Class Design Reuse......Page 856 Safari | Core C++ A Software Engineering Approach -> Syntax of Template Class Definition......Page 864 Safari | Core C++ A Software Engineering Approach -> Template Classes with Several Parameters......Page 876 Safari | Core C++ A Software Engineering Approach -> Relations Between Instantiations of Template Classes......Page 883 Safari | Core C++ A Software Engineering Approach -> Template Specializations......Page 892 Safari | Core C++ A Software Engineering Approach -> Template Functions......Page 898 Safari | Core C++ A Software Engineering Approach -> Summary......Page 901 Safari | Core C++ A Software Engineering Approach -> 18. Programming with Exceptions......Page 902 Safari | Core C++ A Software Engineering Approach -> A Simple Example of Exception Processing......Page 904 Safari | Core C++ A Software Engineering Approach -> Syntax of C++ Exceptions......Page 911 Safari | Core C++ A Software Engineering Approach -> Exceptions with Class Objects......Page 926 Safari | Core C++ A Software Engineering Approach -> Type Cast Operators......Page 936 Safari | Core C++ A Software Engineering Approach -> Summary......Page 948 Safari | Core C++ A Software Engineering Approach -> 19. What We Have Learned......Page 950 Safari | Core C++ A Software Engineering Approach -> C++ as a Traditional Programming Language......Page 952 Safari | Core C++ A Software Engineering Approach -> C++ as a Modular Language......Page 957 Safari | Core C++ A Software Engineering Approach -> C++ as an Object-Oriented Language......Page 964 Safari | Core C++ A Software Engineering Approach -> C++ and Competition......Page 971 Safari | Core C++ A Software Engineering Approach -> Summary......Page 975

Master C++ the right way: From the software engineering perspective!

  • Master C++ the right way!
  • Object-oriented approach to coding throughout
  • Harness C++'s strengths; avoid its dangers
  • Build more easily maintainable code


Build more powerful, robust, maintainable C++ software!

For developers with experience in any language, Victor Shtern's Core C++ teaches C++ the right way: by applying the best software engineering practices and methodologies to programming in C++. Even if you've already worked with C++, this comprehensive book will show you how to build code that is more robust, far easier to maintain and modify, and far more valuable.

Shtern's book teaches object-oriented principles before teaching the language, helping you derive all the power of object-oriented development to build superior software. Learn how to make design decisions based on key criteria such as information hiding and pushing responsibilities from clients down to server classes. Then, master every key feature of ANSI/ISO C++ from a software engineer's perspective: classes, methods, const modifiers, dynamic memory management, class composition, inheritance, polymorphism, I/O, and much more.

If you want to build outstanding C++ software, coding skill isn't enough. Objects aren't enough. You must design, think, and program using today's best software engineering practices — and with Core C++, you will.

So, Core C++ delivers:

  • The application of software engineering principles to C++ programming
  • A strong emphasis on writingcode for easier future maintainance and modification
  • A practical understanding of object-oriented principles before teaching the language
  • Insight into the latest ANSI/ISO C++ features
  • Thorough explanations that respect your intelligence
  • Hundreds of realistic, to-the-point code examples
  • Levity Breaks: Stories and vignettes that illustrate key topics, concepts, and ideas through humor


Every core series book:

  • Demonstrates practical techniques used by professional developers.
  • Features robust, thoroughly tested sample code and realistic examples.
  • Focuses on the cutting-edge technologies you need to master today.
  • Provides expert advice that will help you build superior software.


This book is designed to teach new or experienced C++ programmers the principles of the C++ programming language--with an emphasis on the fundamentals of object-oriented programing, software engineering, and maintenance. The book progresses from simple language constructs and programming constructs to more complex, stressing the choices that the programmer can make and explaining criteria for arriving at high quality programs.

قیمت نهایی

۴۹٬۰۰۰ تومان