Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]
Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]

Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]: A practical, in-depth guide to implementing object-oriented design principles to create robust code

eBook
$33.99 $37.99
Paperback
$46.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Apply object-oriented design concepts in C++ using direct language features and refined programming techniques
  • Discover sophisticated programming solutions with nuances to become an efficient programmer
  • Explore design patterns as proven solutions for writing scalable and maintainable C++ software

Description

Even though object-oriented software design enables more easily maintainable code, companies choose C++ as an OO language for its speed. Object-oriented programming in C++ is not automatic – it is crucial to understand OO concepts and how they map to both C++ language features and OOP techniques. Distinguishing your code by utilizing well-tested, creative solutions, which can be found in popular design patterns, is crucial in today’s marketplace. This book will help you to harness OOP in C++ to write better code. Starting with the essential C++ features, which serve as building blocks for the key chapters, this book focuses on explaining fundamental object-oriented concepts and shows you how to implement them in C++. With the help of practical code examples and diagrams, you’ll learn how and why things work. The book’s coverage furthers your C++ repertoire by including templates, exceptions, operator overloading, STL, and OO component testing. You’ll discover popular design patterns with in-depth examples and understand how to use them as effective programming solutions to solve recurring OOP problems. By the end of this book, you’ll be able to employ essential and advanced OOP concepts to create enduring and robust software.

Who is this book for?

Programmers wanting to utilize C++ for OOP will find this book essential to understand how to implement OO designs in C++ through both language features and refined programming techniques while creating robust and easily maintainable code. This OOP book assumes prior programming experience; however, if you have limited or no prior C++ experience, the early chapters will help you learn essential C++ skills to serve as the basis for the many OOP sections, advanced features, and design patterns.

What you will learn

  • Quickly learn core C++ programming skills to develop a base for essential OOP features in C++
  • Implement OO designs using C++ language features and proven programming techniques
  • Understand how well-designed, encapsulated code helps make more easily maintainable software
  • Write robust C++ code that can handle programming exceptions
  • Design extensible and generic code using templates
  • Apply operator overloading, utilize STL, and perform OO component testing
  • Examine popular design patterns to provide creative solutions for typical OO problems

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Sep 23, 2022
Length: 594 pages
Edition : 1st
Language : English
ISBN-13 : 9781804611081
Category :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Sep 23, 2022
Length: 594 pages
Edition : 1st
Language : English
ISBN-13 : 9781804611081
Category :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 140.97
Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]
$46.99
Test-Driven Development with C++
$46.99
C++20 STL Cookbook
$46.99
Total $ 140.97 Stars icon

Table of Contents

29 Chapters
Part 1: C++ Building Block Essentials Chevron down icon Chevron up icon
Chapter 1: Understanding Basic C++ Assumptions Chevron down icon Chevron up icon
Chapter 2: Adding Language Necessities Chevron down icon Chevron up icon
Chapter 3: Indirect Addressing – Pointers Chevron down icon Chevron up icon
Chapter 4: Indirect Addressing – References Chevron down icon Chevron up icon
Part 2: Implementing Object-Oriented Concepts in C++ Chevron down icon Chevron up icon
Chapter 5: Exploring Classes in Detail Chevron down icon Chevron up icon
Chapter 6: Implementing Hierarchies with Single Inheritance Chevron down icon Chevron up icon
Chapter 7: Utilizing Dynamic Binding through Polymorphism Chevron down icon Chevron up icon
Chapter 8: Mastering Abstract Classes Chevron down icon Chevron up icon
Chapter 9: Exploring Multiple Inheritance Chevron down icon Chevron up icon
Chapter 10: Implementing Association, Aggregation, and Composition Chevron down icon Chevron up icon
Part 3: Expanding Your C++ Programming Repertoire Chevron down icon Chevron up icon
Chapter 11: Handling Exceptions Chevron down icon Chevron up icon
Chapter 12: Friends and Operator Overloading Chevron down icon Chevron up icon
Chapter 13: Working with Templates Chevron down icon Chevron up icon
Chapter 14: Understanding STL Basics Chevron down icon Chevron up icon
Chapter 15: Testing Classes and Components Chevron down icon Chevron up icon
Part 4: Design Patterns and Idioms in C++ Chevron down icon Chevron up icon
Chapter 16: Using the Observer Pattern Chevron down icon Chevron up icon
Chapter 17: Applying the Factory Pattern Chevron down icon Chevron up icon
Chapter 18: Applying the Adapter Pattern Chevron down icon Chevron up icon
Chapter 19: Using the Singleton Pattern Chevron down icon Chevron up icon
Chapter 20: Removing Implementation Details Using the pImpl Pattern Chevron down icon Chevron up icon
Part 5: Considerations for Safer Programming in C++ Chevron down icon Chevron up icon
Chapter 21: Making C++ Safer Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(13 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Srikanth Oct 02, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
One of the best books I have ever read. Truely does justice to it's title.
Subscriber review Packt
James Carroll Nov 25, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Like a snowball that’s been rolling since the mid 1980s, modern C++ has become a mammoth programming language incorporating various concepts as they’ve become popular over the last 5 decades. For this reason learning C++ can be daunting for the beginner or even for anyone that’s been away from it for a while. One way to tackle the problem is to approach C++ from a particular programming paradigm and there isn’t really a better one than the one C++ was invented to implement; that is Object Oriented programming. And this book does exactly that.As someone that has taught corporate courses covering this subject and has been using C++ professionally and personally since the late 1980s, I’d recommend this book as one of the best treatments of this particular topic.The book starts with a great refresher of the language, replete with examples. If it’s been a while since you’ve programmed in C++, or if you’re a beginner, this section will cover the basics and then, step by step, introduce the constructs that form the basis necessary for operationalizing Object Oriented concepts in you code.With this foundation, Object Oriented concepts are introduced, explained and realized using C++ language constructs: encapsulation using classes, generalization and specialization using inheritance, polymorphism using virtual functions/late binding, how to implement interfaces using abstract classes and pure virtual functions.There’s a great discussion of the use of multiple inheritance, how to use it safely by limiting it’s use to implementing interfaces and, if you choose, mix-ins. After the discussion of the pros, cons, and potential limitations and recommendations, a full detailed description of multiple inheritance is provided so that, in good C++ fashion, the final decision on how to use it is left up to the developer.We then move on to rounding out our C++ experience with other features including: templates, operator overloading, and we are brought up to speed on the basics of STL, and finally there’s a discussion of writing code considering testability.Experienced software developers eventually think about their tasks at a higher level than lines of code or the tools at their disposal. They start thinking in terms of programming patterns. Given the basics are in place, the book introduces a few specific “idioms/design patterns” to help the developer shift to this higher level of thinking specifically from the perspective of a C++ Object Oriented developer through discussion and code examples.As mentioned, no complete discussion of these topics is possible in a single book level treatment. As a result there are many topics that aren’t covered or covered in depth. However, what the book accomplishes is a top to bottom traunch that cross-cuts through the huge domain of C++ software development by limiting the perspective to Object Oriented programming. The reader will come away with a solid foundation from which they can then broaden their knowledge in any number of other C++ and software development topics.
Amazon Verified review Amazon
Brian Smyth Mar 06, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is an excellent book for the intro level C++ student as well as more advanced students. The most important aspect of a good C++ developer is understanding good OOD/P. Ms Kirk breaks down complex and difficult elements of OOP to advance even a knowledgeable C++ developer. The complexities of abstraction, multiple inheritance, templates and leveraging patterns and the dangers of using them poorly is explained in simple yet complete concepts for all student levels. It's a must have book.
Amazon Verified review Amazon
Anand Iyengar Oct 22, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book. I bought it as a reference and am super happy that I did. This is an excellent book on C++ and object oriented programming. It has great explanations on the language - it covers higher level features like templates and polymorphism, and also low level details like the mechanics of v-tables. There are plenty of code examples and with explanations, making it easy to follow along with a computer and better understand. The structure of the book works well both for people newly learning the language and also for more experienced engineers to use as a reference.The way the book covers C++ and the detail that it goes into make it a great way to learn the language. It goes from basics to advanced parts of the language and has lots of examples and code. It covers object oriented programming, as well.The book starts with C++ basics and then covers object oriented concepts and maps them to C++ (classes, single and multiple inheritance, polymorphism, ...). The middle part of the book goes into detail about the language - features (eg. exceptions, operator overloading, templates, the Standard Template Library). It also covers important details like r-value references and move/move-copy constructors. The book also covers very important design patterns - this includes Observers, Factories, Adapters, Singletons, and Opaque Pointers, which are very commonly used in industry. It also has section on safe programming in C++, which is especially important with C++ relatively transparent memory access model; it covers smart pointers and ways to program safely, including thread safety and multi-threaded programming. Also the book's chapters include a section at the end with questions to help learn the language.The structure of the book also makes it an excellent as a reference. There is effectively a 3 level hierarchy that the book uses to lay out the material that makes it especially good as a language reference: Parts > Chapters > Sections. The 5 Parts of the book break the language into areas: basics and essentials, object oriented concepts, key C++ concepts, design patterns, and safety. Each Part starts with a summary of what the chapters in that Part will cover. There are 21 chapters to present these different parts of the language. Each chapter is broken up into sections, making it easy to jump to what is need. Each chapter in the book starts with a quick summary of what it covers, and then a number of sections that go into technical requirements, deep dives for understanding the details, implementation overviews, a summary section, and finally a questions section for more in depth learning (N/A for 21).
Amazon Verified review Amazon
H Gregory Silber Sep 26, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Firstly, I was excited to see a new OOP text focused on C++ as a programming language. There has been a trend to simplify the teaching of OOP through using higher level languages; however, these languages often obscure the underlying structure and complexity for various tasks. This text does an admirable job of covering both the C++ language and Object-Oriented principles side by side through interesting examples and well written discussions. The questions at the end of each section are well designed to highlight the concepts, and test for common misconceptions.While not the core purpose of the book, I found the discussions on indirect addressing particularly well-constructed. This is the single most common issue for students learning C/C++. The way the author presents the material is clear and easy to understand. By stressing the hardware implications (layout, etc.) the author makes this difficult topic accessible. Even if programmers may prefer smart pointers (which the author also covers), students need to understand indirect addressing at its core, as a key programming concept that they will inevitably need to utilize and understand well.Part 2 of the text really gets to the heart of C++'s power for object-oriented programming. The chapter (7) on polymorphism goes deeper than many texts into the actual implementation of polymorphism (vtable) to help the reader understand not just that it works, but how and why it works. I also liked the way the author handled the controversial topic of multiple inheritance.The discussions of some of the newer or more obscure features of C++ including templates, the STL, smart pointers, and exception handling is well done, and follows smoothly from the previous sections.My favorite part of the text is part 4 which discusses design patterns. Often, when teaching OOP, we spend so much time on the language constructs that we ignore the higher-level concepts of how we build applications. The author justifies each design pattern with appropriate use cases to show not just how to implement these patterns, but when they are appropriate, and how they simplify design. The examples are simple, yet sufficient to get the concepts across.If I have a complaint with the text, it is that it is encompasses so many topics that it would be very difficult to cover the material in a single semester which is often all that is available to courses on OOP at the undergraduate level, especially while teaching the language at the same time.As a faculty member who teaches undergraduate courses, I think this is an excellent introductory text for OOP and the C++ language applicable to undergraduate students as well as being a useful reference for them throughout their careers. If possible, I will use this text with future classes.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon