Training: C++ Inheritance & Polymorphism
C++
12 uur
Engels (US)

Training: C++ Inheritance & Polymorphism

Snel navigeren naar:

  • Informatie
  • Inhoud
  • Kenmerken
  • Meer informatie
  • Reviews
  • FAQ

Productinformatie

In deze training begin je met C++ Inheritance en ga je verder met Polymorphism. Inheritance is een krachtige, objectgeoriënteerde taalconstructie waarin een klasse kan worden gerelateerd aan een andere klasse met behulp van een is-a-relatie. Met Inheritance kan je ingewikkelde klassenhiërarchieën construeren, waarin een klasse een ouder of een basis van een andere klasse is. Daarnaast leer je in welke volgorde constructors en destructors worden aangeroepen op een object van een afgeleide klasse in een Inheritance-hiërarchie.

Inheritance vormt de basis voor Polymorphism, met name Runtime- Polymorphism, dat een krachtig objectgeoriënteerd programmeerconcept is. Runtime- Polymorphism omvat een aanwijzer of een referentie van het type basisklasse die een object van de afgeleide klasse bevat. Bovendien leer je over pure virtuele functies, abstracte klassen, meervoudige Inheritance en diamanthiërarchie om een totaal beeld te krijgen van alle mogelijkheden die C++ biedt.

Inhoud van de training

C++ Inheritance & Polymorphism

12 uur

C++ Inheritance & Polymorphism: Using Inheritance for is-a Relationships

  • Inheritance is a powerful, object-oriented language construct in

  • which one class can be related to another class using an is-a
  • relationship. Using inheritance, you can construct complicated
  • class hierarchies in which one class is a parent or a base of
  • another class. Is-a relationships are a great way of performing
  • object-oriented design and are complemented by has-a relationships,
  • which are implemented using composition, rather than inheritance.
  • Explore inheritance relationships by setting up an inheritance
  • hierarchy in C++ and specifying one class as the parent of another
  • class. Then discover how member variables and methods are
  • accessible from the drive class, as well as from external code.
  • Finally, investigate base class access specifiers, and find out how
  • they work with member access specifiers. When you’re finished,
  • you’ll clearly understand how to use inheritance for is-a
  • relationships and how to identify uses for private inheritance.

C++ Inheritance & Polymorphism: Constructors, Destructors, & Inheritance

  • The order in which constructors and destructors are invoked on

  • an object of a derived class in an inheritance hierarchy is a very
  • important topic. Constructors are invoked in order from the
  • top-most (most base-level) class, down to the most derived class.
  • Destructors are invoked in the reverse order. Explore how
  • constructors work in an inheritance hierarchy, the order in which
  • the base and derived class constructors are invoked, and how
  • initialization lists need to be used in the derived class. Discover
  • how to use copy constructors and destructors in the context of
  • inheritance. Learn how to set up an inheritance hierarchy for
  • polymorphism. Finally, practice using objects in an inheritance
  • hierarchy with variables of pointer and reference types. When you
  • finish this course, you will have a solid foundation in
  • constructors, destructors, and inheritance, setting the stage for
  • runtime polymorphism and dynamic method dispatch.

C++ Inheritance & Polymorphism: Understanding & Using Polymorphism

  • Inheritance forms the basis for polymorphism, specifically

  • runtime polymorphism, which is a powerful object-oriented
  • programming construct. Runtime polymorphism involves a pointer or a
  • reference of the base class type holding an object of the derived
  • class. The beauty of runtime polymorphism is that when virtual
  • methods are invoked on this pointer, the derived class versions are
  • executed. You will start this course by defining name hiding and
  • how most methods on C++ objects are, by default, statically
  • dispatched. You will then learn about polymorphism and dynamic
  • dispatch, which is accomplished using the virtual keyword. Finally,
  • you will learn how the ‘override’ and 'final' specifications can be
  • used to achieve precise semantics and reduce the scope of bugs and
  • typos in your C++ programs.

C++ Inheritance & Polymorphism: Pure Virtual Functions & Abstract Classes

  • Pure virtual functions and interfaces are very powerful tools in

  • object-oriented programming, and interface-driven programming is a
  • great way of splitting up work across different developers on a
  • large project. You will start this course by considering why your
  • destructors should be marked as virtual in the base class if you
  • have an inheritance hierarchy. You’ll see the harmful effects of
  • not using virtual destructors in an inheritance hierarchy and the
  • problems with object slicing. You will also learn why it is
  • preferable to have variables of reference types to the base class
  • rather than the value types. You will then move to some finer
  • points of working with virtual methods, such as, the inadvisability
  • of using default parameters because these are statically bound.
  • Finally, you will master the syntax and semantics of pure virtual
  • functions and learn how a class that contains even one pure virtual
  • function becomes an abstract class that cannot be instantiated
  • directly.

C++ Inheritance & Polymorphism: Multiple Inheritance & the Diamond Hierarchy

  • C++ allows multiple inheritance, which means that one class can

  • have more than one base. C++ also has some powerful mechanisms for
  • dealing with edge cases such as the diamond hierarchy. You will
  • start this course by learning the precise syntax which is required
  • to implement multiple inheritance in C++, specifically, how it’s
  • important to have both base class access specifiers marked
  • independently. You will then move on to the topic of a diamond
  • inheritance hierarchy, in which the grandchild-level derived class
  • has two parents, both of which inherit from the common, grandparent
  • level base class. Finally, you will see how dynamic casts work in
  • the context of an inheritance hierarchy, how these are a lot safer
  • than static casts, and how they return a null value on failure when
  • used with pointers but they throw an exception on failure when used
  • with references.

Kenmerken

Docent inbegrepen
Bereidt voor op officieel examen
Engels (US)
12 uur
C++
90 dagen online toegang
HBO

Meer informatie

Doelgroep Softwareontwikkelaar, Webontwikkelaar
Voorkennis

Om aan deze training te beginnen moet je voldoende basiskennis van C++ hebben.

Resultaat

Na het voltooien van deze training kan je optimaal gebruik maken van alle mogelijkheden die C++ Inheritance en Polymorphism bieden. Het ondersteunt het concept van herbruikbaarheid en vermindert de codelengte bij objectgeoriënteerd programmeren én stelt het object in staat te beslissen welke vorm van de functie moet worden geïmplementeerd tijdens het compileren (overbelasten) en tijdens runtime (overschrijven).

Positieve reacties van cursisten

Training: Leidinggeven aan de AI transformatie

Nuttige training. Het bestelproces verliep vlot, ik kon direct beginnen.

- Mike van Manen

Onbeperkt Leren Abonnement

Onbeperkt Leren aangeschaft omdat je veel waar voor je geld krijgt. Ik gebruik het nog maar kort, maar eerste indruk is goed.

- Floor van Dijk

Training: Leidinggeven aan de AI transformatie

Al jaren is icttrainingen.nl onze trouwe partner op het gebied van kennisontwikkeling voor onze IT-ers. Wij zijn blij dat wij door het platform van icttrainingen.nl maatwerk en een groot aanbod aan opleidingen kunnen bieden aan ons personeel.

- Loranne, Teamlead bij Inwork

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties