Training: Programmeren in C++ - Deel 3: Geavanceerde concepten in C++
C++
25 uur
Engels (US)

Training: Programmeren in C++ - Deel 3: Geavanceerde concepten in C++

Snel navigeren naar:

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

Productinformatie

Deze training is bedoeld om jouw C++-vaardigheden naar een hoger niveau te tillen. Het gaat diep in op de fijne kneepjes van de C++-taal en behandelt geavanceerde onderwerpen die essentieel zijn voor het bouwen van robuuste en efficiënte applicaties. De training begint met het verkennen van C++ streamverwerking, waarbij je leert hoe je gegevens uit bestanden leest met ifstream en gegevens naar bestanden schrijft met ofstream. Vervolgens wordt dieper ingegaan op de afhandeling van uitzonderingen, waardoor je een grondig inzicht krijgt in hoe je uitzonderingen kan genereren en opvangen, het segmenteren van objecten kan beheren en met het trefwoord noexcept kan werken, zodat je code bestand is tegen fouten.

Naarmate je verder komt in de training, leer je containers gebruiken, inclusief sequentiecontainers en associatieve containers, en leer je hoe je STL-algoritmen effectief kan gebruiken. De training laat je ook kennismaken met de wereld van functioneel programmeren in C++, waarbij eersteklas functies, functieaanwijzers, functieobjecten (functors) en lambda-expressies aan bod komen. Je zal vaardigheid verwerven in het overloaden van de call operator en je zult de nuances begrijpen van het vastleggen en afsluiten van contexten. De training wordt afgesloten met een praktische verkenning van de Simple and Fast Multimedia Library (SFML), waarmee je vensters kan maken en beheren, gebeurtenissen kan afhandelen, grafische entiteiten kan tekenen en complete multimediatoepassingen kan ontwikkelen.

Inhoud van de training

Programmeren in C++ - Deel 3: Geavanceerde concepten in C++

25 uur

File Handling in C++: Working with File Streams

C++ structures different file stream classes into an inheritance hierarchy. Input and output (I/O) operations are performed in C++ through streams, which act as intermediaries between the program and I/O devices, allowing programmers to not focus on how the actual device works. In this course, learn about the different classes and objects for C++ stream handling. Next, discover how to read data from files using objects of the ifstream class. Finally, practice writing out data to files using objects of the ofstream class, including writing out simple integers, floats, strings, and structured data. Upon completion, you'll be able to enumerate C++ file stream classes, read data from files using ifstream, and write data to files using ofstream.

File Handling in C++: Performing Advanced File Stream Operations

The insertion and extraction operators are very commonly overloaded in custom C++ classes. Such overloads make it easy to write objects out to cout or to file and read objects in from cin or a file. In this course, learn how to correctly overload the insertion and extraction operators for streams and explore different aspects of text data streaming. Next, work with different file open modes, including read, write, append, and ate modes. Finally, practice using the stream state bits contained within stream objects. Upon completion, you'll be able to leverage file open modes, check stream state bits, and correctly use the std::filesystem API.

Exception Handling in C++

Exceptions are the most popular form of error handling and the try-catch block is superior to all other error handling mechanisms because it forces the invoking function to manage the errors. In this course, learn how exceptions are thrown and caught. Next, practice creating and using custom exception objects and discover why exceptions must be caught by reference. Finally, explore object slicing results, the semantics and limitations of the noexcept keyword, and the pitfalls of exceptions that occur within constructors. Upon completion, you'll be able to correctly throw and handle exceptions using try/catch blocks, enumerate semantics and limitations of the noexcept keyword, and mitigate problems related to exceptions thrown during the construction of an object.

C++: Working with Sequence Containers

In C++, containers are structures that store collections of other objects known as elements. Sequence containers are used to store elements of the same type sequentially in a linear arrangement, and associative containers store elements in the form of key-value pairs. In this course, work with basic sequence containers called arrays, as well as vectors. Next, learn about forward lists and lists, which are sequence data structures that allow constant time insert and erase operations. Finally, discover how to work with deques (double-ended queues) and container adapters, including stacks, queues, and priority queues. Upon completion, you'll be able to contrast sequence and associative containers, enumerate properties, and correctly use stacks, queues, and priority queues.

C++: Working with Associative Containers & Algorithms

Associative containers provide fast lookup in O(log n) time by associating each entry with a key. Sets and maps are both associative containers. Algorithms are classes that support container-agnostic operations performed on containers. In this course, learn how to create sets and iterate over them, as well as use ordered and unordered multisets. Next, practice creating maps and indexing into them using keys, as well as inserting key-value pairs into maps. Finally, examine how random access of elements is faster with unordered maps compared to ordered maps, and explore various STL algorithms. Upon completion, you'll be able to differentiate between sequence and associative containers, leverage STL algorithms, and instantiate and use sets, multisets, maps, and multimaps.

First-class Functions in C++: Defining & Using First-class Functions

While C++ is considered an object-oriented language, it provides support for functional programming, including support for first-class functions in three manners: function pointers, function objects, and lambdas. In this course, discover the complexity of C-style function pointers by creating them and invoking functions through them. Next, learn about the various features and uses of function pointers and how to accept functions as input arguments and return functions from a higher-order function. Finally, examine function objects (functors) and use them to overload the call operator, instantiate objects, and use the overloaded call operator. Upon completion, you'll be able to list the properties of C++ first-class functions, create function pointers, return functions from a higher-order function, and define and invoke a functor.

First-class Functions in C++: Using Lambdas & Closures

In C++, a lambda expression is an ad-hoc, locally scoped function object that offers a function definition syntax. Lambdas can be stored in variables and invoked like function objects or function pointers, but lambdas go further by supporting context capture. In this course, learn how to define and invoke lambda functions and pass and return input arguments to and from lambdas using the Standard Template Library (STL) algorithms. Next, explore how context capture works in lambdas and implement closures. Finally, work with context capture to specify captured variables and whether the capture is by copy or by reference. Upon completion, you'll be able to define and invoke a lambda function, perform context capture by value and by reference, and define closures inside class methods.

C++: Introduction to Graphics with SFML

Simple and Fast Multimedia Library (SFML) is a cross-platform, software development library used for designing gaming applications, providing features like audio, graphics, and a network, which together allow you to build the complete multimedia experience. Begin by creating and managing windows that can hold multimedia gaming applications. Learn how to keep a game constantly running and updated using a game loop. Next, explore event handling in SFML, including mouse clicks, scrolls, keypress events, resize, and focus events. Finally, use the Graphics module in SFML to draw graphical entities, like geometric shapes, to the screen and configure the properties of these entities. When you have completed this course, you will have the foundational knowledge to create and render graphical entities within SFML windows.

C++: Creating a Complete Game in SFML

Multimedia applications require a number of different entities to come together - graphical entities, animations, views, audio, and networking. SFML's modules allow you to incorporate all of these in an easy and intuitive manner to build fully-fledged gaming applications. First, explore graphics entities such as textures and sprites to specify backgrounds and interact with different textures. Next, use vertex arrays to create and transform shapes by moving, rotating, and scaling entities. Then, create animations and play sounds using SFML. Finally, bring everything together to build a multimedia game of Tic-Tac-Toe, containing the logic for win-lose-draw. After completing this course, you will have the skills and ability to use SFML constructs to develop gaming applications.

Advanced Concepts in C++

In the Advanced Concepts in C++ lab, you will work with file streams, binary files, sequence containers, and associative container and algorithms. You will also use Lambdas and graphics with SFML, perform exception handling, and draw textures and sprites using SFML.

Final Exam: Advanced Concepts in C++

Final Exam: Advanced Concepts in C++ will test your knowledge and application of the topics presented throughout the Advanced Concepts in C++ track of the Skillsoft Aspire Programming in C++ Journey.

Kenmerken

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

Meer informatie

Doelgroep Softwareontwikkelaar
Voorkennis

Basiskennis van programmeertalen is aangeraden. Daarnaast is het aanbevolen om eerst deel 1 en 2 van het leertraject ‘’ Ontwikkel je kennis van programmeren in C++’’ te volgen:

  • Deel 1: Ga van start met C++
  • Deel 2: Objectgeoriënteerde concepten in C++
Resultaat

Aan het einde van de training heb je een diepgaand inzicht in geavanceerde C++-programmeertechnieken, uitstekende vaardigheden op het gebied van foutafhandeling en het vermogen om geavanceerde applicaties en multimediagames te bouwen.

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