Learn: in:
» back to Search Results

Course rating of 0 Vendor rating of 4

This course will teach the student how to solve problems arising from subtleties of the C++ language as well as techniques for improving performance & efficiency. Students are invited to bring their current ideas/questions to the classroom for discussion

Course Outline
This course will teach the student how to solve problems arising from subtleties of the C++ language as well as techniques for improving performance and efficiency. Students are invited to bring their current ideas and question to the classroom for discussion

Objectives At the completion of this course, the student will be able to:
· Point out the areas where hidden class members can cause hard-to-find bugs
· Write easier-to-read and easier-to-code using operator overloading
· Perform file input-output and describe the concepts of persistent objects
· Understand issues in using virtual base classes and multiple inheritance
· Better utilize the features of inheritance and polymorphism in program design
· Understand how templates can reduce code replication when used properly
· Use and understand the techniques of exception handling in C++
· Describe when/how to use run-time type identification, mutable keyword/other language features

Topics · Why object oriented programming?
· A review of C++ and classes
· Nested classes
· Const and static members
· Pointers to members
· Hidden class details
· Resolution of overloaded functions
· Operator overloading in detail
· Streams-based file I/O
· Multiple inheritance and virtual base classes
· Protected methods: the good and the bad
· New-style casts
· Template classes and functions
· Exception handling
· Run-time type identification
· Namespaces

Audience This course is intended for engineers, programmers and analysts who have been designing and
creating programs using C++ and desire a higher level of technical detail to allow them more
flexibility and productivity when writing C++ programs. Anyone desiring the ability to read and
understand complex C++ programs for maintenance or learning purposes.

Course Outline I. Why Object Oriented Programming?
A. Modularity
B. Data Hiding
C. Abstraction
D. Encapsulation

II. Review of C++ and Classes
A. Nested classes
B. Const and static members
C. Pointers to members
D. Introduction to namespaces
E. Introduction to standard template Library (STL)
F. The this pointer
G. Nested classes

III. Polymorphism
A. What any why
B. Virtual functions
C. Costs involved in use
D. Common problems

IV. Name Mangling
A. What and why
B. How this can help decipher compiler
error messages

V. Operator Overloading
A. What and why
B. Operators that cannot be overloaded
C. Prefix vs. postfix for ++ / --
D. Overloading []
E. Using a global function vs. member method
F. Best practices
G. Implicit conversions
H. Explicit conversions

VI. Templates
A. What and why
B. How to use
C. How to create
D. Template instantiation
E. Function templates
F. User specializations
G. Source code organization
H. More STL

VII. Stream I/O
A. Stream I/O vs. file I/O
B. Class hierarchy
C. I/O manipulators
D. Formatting using manipulators
E. Buffering issues
F. Adding overloaded I/O operators
G. String stream
H. Disk file I/O

VIII. Inheritance
A. What and why
B. Composition
C. Upcasting vs. downcasting
D. Virtual functions
E. Abstract base classes
F. Multiple inheritance (MI)
G. MI Issues / solutions

IX. Standard Template Library
A. What and why
B. Tour of included classes
C. How to use
D. Iterators

X. Exception Handlers
A. What and why
B. Overhead issues
C. When not to use exceptions
D. How to write and use

XI. New Style Casts
A. What and why
B. Const cast
C. Static cast
D. Dynamic cast
E. Reinterpret cast

XII. Run-Time Type Identification (RTTI):
What and Why?
Prerequisites & Certificates

Programming experience in C++ for at least three months is required for students to gain maximum benefit, although experience in other object oriented programming languages may suffice.

Certificates offered

Certificate of completion

Cancellation Policy
10 Day cancellation required for all courses in order to get a full refund.
Map & Reviews
Protech Training
[ View Provider's Profile ]


This course has not yet been rated by one of our members.

If you have taken a course through this vendor please log into your account and leave feedback for this vendor. You will be helping ensure our members get directed to the best training facilities.

Here are some reviews of the training vendor.
I took the training remotely so I cannot comment on some of the questions. I think that this seminar has too much content to squeeze it into one week.... might be better as a two week course?
Reviewed by 2013
found the material very helpful - although there was a lot of material covered - the pace was well set. Would definitely recommend people to have explored Microsoft Access beforehand to be familiarized with the program before taking the course. I would imagine someone without any exposure would find it confusing. Environment really good - people very, very nice and helpful. Would definitely take the next level of access with the same training facility.
Reviewed by 2013
I was not in the physical classroom. Feedback centered around online training would be good because now I have to rate items that I was not present for. Those items are getting half a star because I was not there to rate them. The course material must go through an editing process. There are a lot of grammar mistakes, but also a lot of actual procedure/activity mistakes.
Reviewed by 2012

This course currently does not have any dates scheduled. Please call 1-877-313-8881 to enquire about future dates or scheduling a private, in house course for your team.

This page has been viewed 160 times.