Introduction to C++ Programming | Intensive C++ Essentials
Prepare yourself with the skills to put foundation-level C++ programming skills right to work in a practical environment.
Introduction to C++ Programming / Intensive C++ is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sound coding skills and best practices for OO development.
The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.
This “skills-centric” course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices.
Duration
4 days/32 hours of instructionPublic Classroom Pricing
$2495(USD)
GSA Price: $1871.25
Group Rate: $2395
Private Group Pricing
Have a group of 5 or more students? Request special pricing for private group training today.
Download the Course Brochure
Part 1: Moving from C to C++
- New Compiler Directives
- Stream Console I/O
- Explicit Operators
- Standard Libraries
- Data Control Capabilities
Part 2: Handling Data
- New Declaration Features
- Initialization and Assignment
- Enumerated Types
- The bool Type
- Constant Storage
- Pointers to Constant Storage
Part 3:Functions
- Function Prototypes and Type Checking
- Default Function Data Types
- Function Overloading
- Problems with Function Overloading
- Name Resolution
- Promotions and Conversions
- Call by Value
- Reference Declarations
Part 4: Operator Overloading
- Advantages and Pitfalls of Overloading
- Member Operator Syntax and Examples
- Class Assignment Operators
- Class Equality Operators
- Non-Member Operator Overloading
- Member and Non-Member Operator Functions
Part 5: Creating and Using Objects
- Creating Automatic Objects
- Creating Dynamic Objects
- Calling Object Methods
- Constructors
- Initializing Member consts
- Initializer List Syntax
- Allocating Resources in Constructor
- Destructors
Part 6: Dynamic Memory Management
- Advantages of Dynamic Memory Allocation
- Static, Automatic, and Heap Memory
- Free Store Allocation with new and delete
- Handling Memory Allocation Errors
Part 7: Controlling Object Creation
- Object Copying and Copy Constructor
- Automatic Copy Constructor
- Conversion Constructor
Part 8: Streaming I/O
- Streams and the iostream Library
- Built-in Stream Objects
- Stream Manipulators
- Stream Methods
- Input/Output Operators
- Character Input
- String Streams
Part 9: Introduction to Object Concepts
- The Object Programming Paradigm
- Object-Orientated Programming Definitions
- Information Hiding and Encapsulation
- Separating Interface and Implementation
- Classes and Instances of Objects
- Overloaded Objects and Polymorphism
Part 10: Declaring and Defining Classes
- Components of a Class
- Class Structure
- Class Declaration Syntax
- Member Data
- Built-in Operations
- Constructors and Initialization
Part 11: Templates
- Purpose of Template Classes
- Constants in Templates
- Templates and Inheritance
- Container Classes
- Use of Libraries
Part 12: Strings in C++
- Character Strings
- The String Class
- Operators on Strings
- Member Functions of the String Class
Part 13: Inheritance
- Inheritance and Reuse
- Composition vs. Inheritance
- Inheritance: Centralized Code
- Inheritance: Maintenance and Revision
- Public, Private and Protected Members
Part 14: Exceptions
- Types of Exceptions
- Trapping and Handling Exceptions
- Triggering Exceptions
- Handling Memory Allocation Errors
Part 15: C++ Program Structure
- Organizing C++ Source Files
- Integrating C and C++ Projects
- Using C in C++
Part 16: Reliability Considerations in C++ Projects
- Function Prototypes
- Strong Type Checking
- Constant Types
- C++ Access Control Techniques
Part 17: Polymorphism in C++
- Definition of Polymorphism
- Calling Overridden Methods
- Upcasting
- Accessing Overridden Methods
- Virtual Methods and Dynamic Binding
- Virtual Destructors
Part 18: Multiple Inheritance
- Derivation from Multiple Base Classes
- Base Class Ambiguities
- Virtual Inheritance
- Virtual Base Classes
Part 19: The Standard Template Library
- STL Containers
- The Vector Class
- STL Algorithms
- Use of Libraries
This is an introductory-level C++ programming course designed for:
- Developers with experience programming in C or other languages.
- Practical hands-on prior programming experience and knowledge is required.
- Writing procedural programs using C++
- Using private, public and protected keywords to control access to class members
- Writing constructors and destructors
- Implementing polymorphic methods in programs
- Writing programs using file I/O and string streams
- Using manipulators and stream flags to format output
- Writing programs that use generic classes and functions
- Apply object-oriented design techniques to real-world programming problems
- Understand how C++ protects the programmer from implementation changes in other modules of an application
- Defining exceptions and using throw to trigger them