Intensive C++

In this course, experienced programmers will get a comprehensive, in-depth view of the C++ language. Included is complete coverage from fundamental concepts of class, inheritance, virtual functions. In addition to syntax, this course integrates the pragmatic and the theoretical with discussions of object-oriented principles, beneficial design criteria, efficiency tradeoffs, common design patterns, and other useful idioms and programming techniques.

Ämnesområden

Day 1

  • Basics
    Introduce program start, variable types, flow of control, and i/o.
  • Functions
    Learn functions, parameter passing, references, arrays, global and static variables, defaults, and inline.
  • Types
    Cover constants, enumerations, typedef, switch, c and c++ strings, using directives, structs, reference variables, constant references, overloading, and template functions.
  • Member Functions
    Examine member functions, definition and invocation syntax, and const issues.
  • Inheritance
    Discuss inheritance, data and functions, its design meaning, overriding, and chaining.

Day 2

  • Constructors
    Examine constructors and destructors, multiple and default constructors, array construction, and unnamed temporaries.
  • Protection
    Introduce public, private and protected access specification, friends, and class.
  • Virtual
    Consider virtual functions, type compatibility, and dynamic binding.
  • Templates
    Cover template classes, syntax, instantiation, and parameters.

Day 3

  • Pointers
    Examine pointer types and syntax, indexing and relation to arrays, arithmetic, pointers to object, and use in connected data structures.
  • Dynamic Memory
    Learn dynamic memory, allocation and deallocation, syntax and purpose, arrays, and memory leaks.
  • Standard Smart Pointer
    Introduce the standard smart pointers std::unique_ptr and std::shared_ptr
  • Operator
    Cover operator overloading and various operators.
  • Dynamic Memory 2
    Discuss use of dynamic memory by classes, and copy and assignment issues.

Day 4

  • Exceptions
    Introduce exceptions, various syntax and use, and interaction with destructors.
  • Constructors 2
    Introduce construction of aggregate and derived objects, initialization syntax, and automatic constructor generation.
  • Scope
    Examine name collision issues, nested types, static members, and namespaces.
  • Virtual 2
    Cover implementation of dynamic binding, use in writing generic code, abstract operations, pure virtual functions, and virtual destructors.
  • Inheritance 2
    Discuss multiple and private inheritance.
  • Type Conversion
    Examine casting, cast operators, dynamic cast, rtti, and explicit.

Day 5

  • Functions 2
    Learn function objects, overloading operator function call, pointers to global functions and member functions, and callback-based notification.
  • Lambda Expressions
    Introduce lambda expressions and closures
  • Std Containers
    Discuss fundamentals of standard library containers, use, iterators, algorithms, function parameters, nested typedefs, and generic code.
  • Preprocessor
    Consider preprocessor directives, code selection and generation, and macro parameters.
  • Compilation
    Cover issue in separate compilation, code organization, dependencies, and guards.

Kursens mål

  • Classes, member functions, and protection
  • Inheritance, single, and multiple
  • Constructors and destructors
  • Overloading, dynamic binding, and virtual functions
  • Polymorphism and generic programming
  • Template functions and classes
  • Exceptions and error handling
  • Operator overloading
  • Dynamic memory, copy/assignment, and memory management
  • Type conversion and run-time type information (RTTI)
  • Namespaces and project organization
  • Efficiency issues, code generation, and inlining
  • Function objects, pointers, and callbacks
  • Standard library io-streams, strings, and containers
  • Effective programming idioms and techniques
  • Object-oriented programming, patterns, and design

Målgrupp

Experienced programmers who want to learn as much as possible about C++

Förkunskaper

Practical experience from an object-oriented language such as Java or C#. No experience of C++ is required.

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 32 950,00 kr

exklusive moms

Längd 5 dagar
Kurskod GK0791

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

lc LiveClass innebär att kursen hålls som en lärarledd interaktiv onlineutbildning.

20 november

Kunduppgifter

Kursanmälan är bindande. För mer information och avbokningsregler se våra allmänna villkor.