 |
|
 |
Object-oriented (OO) programming offers greater reliability, maintainability & reusability than older, structured programming methods. C++, a language derived from C, supports OO with a high degree of efficiency and portability. C++ is a well-established, mainstream language used across a board range of applications.
This course provides a solid foundation in C++ for programmers without experience with the C language. You gain an understanding of key OO programming concepts and valuable hands-on experience developing C++ programs. |
|
|
|
|
Course schedule
Duration: 5 days
To view the schedule for this class, click here.
Who should attend
This course is for those interested in programming with C++, such as application developers, systems programmers and software engineers.
Prerequisites
Familiarity with a programming language and object-oriented concepts is helpful but not required.
Course Outline
- C++ PROGRAM COMPONENTS
- Overview of a C++ program
- Functions
- Program output
- Variables and keyword
- Compilation units
- Layout
- DATA AND OPERATORS
- Identifiers and variables
- Data types
- Operators
- Constants
- Conversions
- STRUCTURED DATA TYPE
- Enumerated data types
- Strings
- Structures
- Nested types
- CONTROL FLOW
- Branching
- Compound statement
- Multiple choice
- Looping
- Wrapper classes
- FUNCTIONS
- Function prototype
- Calling functions
- Function arguments
- Structure member functions
- ARRAYS AND VECTORS
- Containers
- Array definition and initialization
- Array Pros and Cons
- Lookup table
- Standard vector type
- Vector of structures
- Vector Pros and Cons
- CLASSES
- Object orientation
- Encapsulation
- Class
- Constructors
- POINTERS
- Declaring pointers
- Pointer operators
- Pointer and functions
- The this pointer
- Null pointer
- Dynamic Memory
- Dynamic allocation and dealocation
- Dynamic arrays
- Object clean up
- Destructors
- OBJECT RELATIONSHIPS
- Aggregation
- Association
- Custody and copying
- OPERATOR OVERLOADING
- Global operator functions
- Member operator functions
- Iterator interface
- Overloading increment and decrement
- Overloading steram operators
- STREAMS
- Input and output
- Stream state
- File streams
- Data files
- String streams
- THE STL CONTAINERS
- Templates
- Standard template class
- Comparison between containers
- ITERATORS
- Container traversal
- Concept of range
- Nested iterator class
- Contant iterator
- Template functions
- STL algorithms
- INHERITANCE
- The concept of inheritance
- Access restrictions
- Abstrac base classses
- Overriding behavior
- POLYMORPHISM
- Polymorphism
- Static and dynamic binding
- Polymorphism function and collection
- Virtual destructors
- ADVANCED TOPICS
- Copy safe classes
- Error handling
- Namespaces
- Multiple inheritance
- Smart pointers
- Extending the STL
|
|