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
€25.99 €28.99
Paperback
€35.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
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

Shipping Address

Billing Address

Shipping Methods
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
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

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 : 9781804613900
Category :
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
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

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to United States

Economy delivery 10 - 13 business days

Free $6.95

Premium delivery 6 - 9 business days

$21.95
(Includes tracking information)

Product Details

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

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 $ 107.97
Deciphering Object-Oriented Programming with C++ [WARNING: NOT FOR USE IN OTHER MATERIAL/SEE CONTRACT]
€35.99
Test-Driven Development with C++
€35.99
C++20 STL Cookbook
€35.99
Total $ 107.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

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
Modal Close icon
Modal Close icon