קורסים מקצועיים למתקדמים

פיתוח תוכנה

Modern Robust C++ Design

מספר הקורס 4168

למה ללמוד בג'ון ברייס?
  • למידה חדשנית ודינמית עם כלים מתקדמים בשילוב סימולציות, תרגול וסביבות מעבדה
  • מגוון הכשרות טכנולוגיות עם תכנים המותאמים להתפתחות הטכנולוגית ולביקוש בתעשיית ההייטק
  • מובילים את תחום ההכשרות לעולם ההייטק והטכנולוגיה כבר 30 שנה, עם קהילה של עשרות אלפי בוגרים
  • אתם בוחרים איך ללמוד: פרונטאלית בכיתה, מרחוק ב- Live Class או בלמידה עצמית

המועדים הקרובים

קורס לקבוצות

הקורס נפתח במתכונת של קבוצה בלבד, בהתאמה אישית לארגונים.
לפרטים נוספים: Muzman@johnbryce.co.il

משך הקורס

שעות לימוד:

40

מספר מפגשים:

קורס בוקר:

5

מתכונת הקורס

הקורסים המוזמנים לארגונים מותאמים באופן אישי ומלא לצרכי הארגון, מערכי הלימוד גמישים וניתן לשלב בהם תכנים רלוונטיים וייעודיים.

Overview

C++ is the standard language for implementing object-oriented designs where performance is a priority. Although long-term language stability is an important feature of C++, it has nevertheless continued to be developed. C++ 11 introduced a number of significant language and library features to improve safety and performance. These features allow us to express concepts more precisely from a design directly in code. Although these changes could be considered incremental, in fact they allow and encourage a whole new approach to programming.

This course sets out from the beginning to embrace this new approach making full use of the facilities for writing well encapsulated robust code which is at the same time supremely efficient.

The course is written from a developers rather than an academics perspective, following the design of a simple library and introducing language and library features as they are encountered. In the process virtually all language features are explored and most of the standard library. In addition a variety of design patterns are examined and good practices are emphasized.

Although the course makes use of C++ 11/14 features throughout, most of the material is useful and relevant to pre C++ 11 users.

Delegates will gain a greater understanding of the capabilities and potential pitfalls of the C++ language and will be more able to use C++ language features to write robust, quality software.

This a comprehensive five-day course with a combination of lectures and practical sessions for each chapter to reinforce the topics covered throughout the course. The practicals avoid algorithmic difficulties so that delegates can concentrate on specific C++ features.

On Completion, Delegates will be able to

Describe the modern approach to programming that C++ 11 facilitates.

Describe and use advanced techniques for safe copying and forwarding

Describe and use template techniques for efficient generic coding

Understand portability issues and how to resolve them.

Make appropriate use of operator overloading.

Understand how to write robust constructors.

Use C++ exceptions appropriately in libraries and in large programs.

Understand and resolve issues with global variables.

Understand the appropriate use of constexpr, volatile, unions and bitfields.

Understand and use the library facilities for multi-threading

Understand the issues of resource ownership and the use of RAII and smart pointers to make association explicit and safe.

Describe advanced inheritance techniques, such as private inheritance, multiple inheritance, the template method pattern and down-casting.

Take full advantage of the standard C++ library

Make good use of the standard container classes and iterators

Understand and use variety of OO call-back mechanisms

Who Should Attend

The course is intended for experienced C# developers.

תכנית הלימודים

Course Contents
  • Object-Oriented Programming
  • C++ language design aims
  • Language distinctives
  • Comparison with C
  • Why use C++
Prerequisites

This is not a course for beginners. It covers a great deal of material and those who do not meet the course prerequisites will find the course moves too quickly.

  • You must have solid recent experience of writing C++ .
  • You must have a good appreciation of object-oriented principles.
  • You must be comfortable with new and delete operators, class definitions and member functions, constructors and destructors, pointers, references, virtual functions, function overloading, specialisation, inheritance and polymorphism.
  • Ideally, you will have attended one of our C++ programming courses and have been using C++ solidly for at least six months.

Please note: Before attending this class delegates must have a Microsoft account (signing up one is free). The instructions on how to set up a Microsoft account can be found here.

Schedule Appointment

Fill out the form below, and we will be in touch shortly.

לא הצלחנו לאתר את הטופס.