Skip to main content

Humanities, Social Science and Language

Digital Products

Course managementreporting, and student learning tools backed by great support.

McGraw Hill GO
Greenlight learning with the new eBook+

Personalize learning and assessment

ALEKS® Placement, Preparation, and Learning
Achieve accurate math placement

Ignite mastery of MS Office and IT skills

McGraw Hill eBook & ReadAnywhere App
Get learning that fits anytime, anywhere

Sharpen: Study App
A reliable study app for students

Virtual Labs
Flexible, realistic science simulations


Inclusive Access
Reduce costs and increase success

LMS Integration
Log in and sync up

Math Placement
Achieve accurate math placement

Content Collections powered by Create®
Curate and deliver your ideal content

Custom Courseware Solutions
Teach your course your way

Professional Services
Collaborate to optimize outcomes

Remote Proctoring
Validate online exams even offsite

Institutional Solutions
Increase engagement, lower costs, and improve access for your students


General Help & Support Info
Customer Service & Tech Support contact information

Online Technical Support Center
FAQs, articles, chat, email or phone support

Support At Every Step
Instructor tools, training and resources for ALEKS, Connect & SIMnet

Instructor Sample Requests
Get step by step instructions for requesting an evaluation, exam, or desk copy

Platform System Check
System status in real time

C++ Programming: An Object-Oriented Approach
C++ Programming: An Object-Oriented Approach

C++ Programming: An Object-Oriented Approach, 1st Edition

ISBN10: 0073523380 | ISBN13: 9780073523385
By Behrouz A. Forouzan and Richard Gilberg
© 2020

Format Options:

* The estimated amount of time this product will be on the market is based on a number of factors, including faculty input to instructional design and the prior revision cycle and updates to academic research-which typically results in a revision cycle ranging from every two to four years for this product. Pricing subject to change at any time.

Instructor Information

Quick Actions (Only for Validated Instructor Accounts):

C++ Programming: An Object-Oriented Approach has two primary objectives: Teach the basic principles of programming as outlined in the ACM curriculum for a CS1 class and teach the basic constructs of the C++ language. While C++ is a complex and professional language, experience shows that beginning students can easily understand and use C++.

C++ Programming: An Object-Oriented Approach uses a combination of thorough, well-ordered explanations and a strong visual framework to make programming concepts accessible to students. The authors stress incremental program development, wherein program analysis is followed by building a structure chart, constructing UML flow diagrams, writing algorithms, undertaking program design, and finally testing. This foundation, combined with a focus on the benefits of a consistent and well-documented programming style, prepares students to tackle the academic and professional programming challenges they will encounter down the road with confidence.

Chapter 1: Introduction to Computers and Programming Languages

Chapter 2: Basics of C++ Programming

Chapter 3: Expressions and Statements

Chapter 4: Selection

Chapter 5: Repetition

Chapter 6: Functions

Chapter 7: User-Defined Types: Classes

Chapter 8: Arrays

Chapter 9: References, Pointers, and Memory Management

Chapter 10: Strings

Chapter 11: Relationships among Classes

Chapter 12: Polymorphism and Other Issues

Chapter 13: Operator Overloading

Chapter 14: Exception Handling

Chapter 15: Generic Programming: Templates

Chapter 16: Input/Output Streams

Chapter 17: Recursion

Chapter 18: Introduction to Data Structures

Chapter 19: Standard Template Library (STL)

Chapter 20: Design Patterns


Appendix A: Unicode

Appendix B: Positional Numbering System

Appendix C: C++ Expressions and Operators

Appendix D: Bitwise Operations

Appendix E: Bit Fields

Appendix F: Preprocessing

Appendix G: Namespaces

Appendix H: Ratios

Appendix I: Time

Appendix J: Lambda Expressions

Appendix K: Regular Expressions

Appendix L: Smart Pointers

Appendix M: Random Number Generation

Appendix N: References

Appendix O: Move versus Copy

Appendix P: A Brief Review of C++ 11

Appendix Q: Unified Modeling Language (UML)

Appendix R: Bitset



About the Author

Behrouz A. Forouzan

Behrouz A. Forouzan is a Professor at DeAnza College where he is involved in the development of Computer Information System courses. In addition he provides system development consulting with several companies. In addition to C and C++ books, Forouzan is the author of several other successful books, including Computer Networks: A Top-Down Approach, TCP/IP Protocol Suite, and Local Area Networks.

Richard Gilberg

Richard F. Gilberg is a retired Professor of Computer Science from DeAnza College where his classes were primarily in computer programming, data structures, and web site development. Prior to joining DeAnza College, Mr. Gilberg worked for a large aerospace company as a programmer, analyst, and manager. He has co-authored six computer science textbooks with Mr. Forouzan.

affordability icon


Reduce course material costs for your students while still providing full access to everything they need to be successful. It isn't too good to be true - it's Inclusive Access.

Need support?   We're here to help - Get real-world support and resources every step of the way.