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.

22 januari

Kunduppgifter