Empowering software practitioners through training and workshops

Course Description

Advanced C++ Programming


This course does not currently have a public schedule. Please register your interest by filling out the enquiry form on the left-side panel and we will keep you informed when the course is due to be scheduled. If you are interested in having Genfosys teach this course at your facility, please visit the On-site training page for more information.

Course code: SP4
Duration: 5.0 Days
Course type: Public or Private on-site
Price: £1,400.00

Overview

Developers of high quality software must understand the intricacies of their chosen language. C++ is a powerful language with a rich variety of capabilities. The course highlights potential pitfalls in the use of C++ for application development. The course emphasises best practice in object oriented software development using C++. The course builds on the topics covered on the basic C++ programming course.

Benefit
The course has been designed by exponents of C++ whose focus is on promoting software improvement through quality standard enforcement. On course completion, participants should be able to demonstrate an understanding of C++ language insecurities and issues that can adversely impact the overall quality and performance of their applications.

Who should Attend
The course is designed for developers who are required to write quality C++ code, quality assurance professionals and managers who are responsible for quality development initiatives. It is anticipated that experienced C++ developers will find much to challenge their understanding of the language.

Instructional Method
The course is presented in lecture style with numerous exercises and real-world case studies tailored to each topic.

Prerequisites
An understanding of C++ language syntax is assumed as well as some practical experience in using the language. It will be helpful if delegates had taken the basic C++ programming course.

Course Content
Classes and Objects

  • Constructors
  • Automatically generated functions
  • Constructor vs the = operator
  • Implicit constructor conversions
  • Destructors
  • Automatically generated destructors
  • Virtual destructors
  • Passing and returning objects by value, pointer & reference
  • Inlining
  • Implicit inlines
  • Virtual functions
  • Virtual function table
  • RTTI
    Templates and Macros

  • Arithmetic macros
  • Macro functions
  • Function templates
  • Class templates
  • The value of STL

Conversion, Precendence and Evaluation

  • Conversions
  • New type casting operators
  • Integral promotion
  • Operator precedence
  • Evaluation
Memory Management

  • Allocating and deallocating memory
  • Operators new[] and delete[]
  • Constructors and destructors
  • Pointers and memory problems
  • Smart pointers
  • Static memory
  • Placement New
  • Smart pointers
    Exceptions

  • Pros and cons
  • Writing exception safe code

Multi-threading

  • Use of volatile
  • Protecting resources
  • Safe memory pooling
  • Synchronization


Home | Why GSET? | Courses | Contact | Genfosys Group | Search | Site Map


Email: gset@genfosys.com | Tel: +44 (0) 845 123 5478