Advanced C++ Programming (Modern Advanced C++) is a lab-intensive, hands-on C++ training course geared for experienced C++ programmers who wish to take their development skills to the next level. Students will leave this course armed with the required skills to put advanced C++ programming skills right to work in a practical environment, using sound coding techniques and best practices.
This comprehensive course consists of three modules. A preliminary module reviews topics, including inheritance, the ANSI C++ Standard Library, templates. I/O streams, and practical issues of C++ programming, such as reliability & testing. This material is covered as needed depending on the background of the students.
The second module covers more advanced topics. Unit testing, advanced inheritance & polymorphism are discussed. Memory management along with move constructors and RAII are explored. Templates and generic programming are explored including lambda expressions and functors. The third module is a deep dive into the Standard C++ Library. Containers, Algorithms, Threads and much more. Throughout the course, new features of modern C++ (version 11 and beyond) are introduced as well as the impact on programming style. These new features include smart pointers, move constructors, functional programming and lambda expressions.
*Ways To Learn!*
- Attend a Class! For your convenience, this course is available on our online-live Public Schedule. Please see the current scheduled dates listed below. Please ask if you don't see a date you'd prefer. Be also be sure to check out our current Special Offers for extra savings for individuals, small groups or corporate rates for your organization.
- Team Training! We're also happy to deliver this as a private event for your team or organization, tailored to suit your needs. See our Training Solutions page for details.
- Every-Course Extras = High-Value & Long-Term Learning Support! All courses also include our unique EveryCourse Extras package (Post-Course Resource Site access with Review Labs & Live Instructor Follow-on Support, access to QuickSkills recorded High-Value lessons, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.
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. Working in a hands-on learning environment, guided by our expert team, attendees will explore:
- Modern C++
- Generic Programming
- Memory Management
- Inheritance and Polymorphism
- Exception Handling
- Operator Overloading
- Unit Testing in C++
- Functional Programming
- Runtime Type Information
- STL Containers
- STL Iterators
- Threads & Tasks
Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate. We offer additional C++, programming, development, design, testing, services, application security and other related topics that may be blended with this course for a track that best suits your needs.
This is an intermediate level development course designed for developers with prior C++ programming experience. Students without prior C++ programming background should take the pre-requisite training.
Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.
Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.
Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. Please inquire for details and options