Jaki jest główny cel i korzyść z zastosowania szablonu funkcji (template), jak w powyższym kodzie C++?
Jaki jest główny cel i korzyść z zastosowania szablonu funkcji (template), jak w powyższym kodzie C++?
double przed wykonaniem operacji.Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C
C. Umożliwia napisanie jednej, generycznej funkcji... – Szablony są kluczowym mechanizmem programowania generycznego w C++. Pozwalają one na stworzenie jednej definicji funkcji (lub klasy), która może pracować z wieloma różnymi typami danych. Kompilator automatycznie generuje odpowiednie wersje funkcji dla każdego typu użytego w programie (w tym przypadku dla int i double), co zapobiega duplikacji kodu i zwiększa jego elastyczność.
Dlaczego inne odpowiedzi są nieprawidłowe:
A. – Do nadpisywania funkcji w klasach pochodnych służą funkcje wirtualne (
virtual), co jest mechanizmem polimorfizmu dynamicznego, a nie programowania generycznego.B. – Do zagwarantowania wykonania w czasie kompilacji służy słowo kluczowe
constexpr, a nietemplate.D. – Szablon nie konwertuje typów w ten sposób. Wręcz przeciwnie, typ
Tjest dedukowany na podstawie argumentów, a operacje są wykonywane na oryginalnych typach (intdlafindMax(10, 20)idoubledlafindMax(15.5, 12.3)).
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Polimorfizm (Wielopostaciowość w OOP)Cecha programowania obiektowego pozwalająca na jednakowe traktowanie obiektów różnych klas pochodnych za pośrednictwem wspólnego interfejsu lub klasy bazowej z różną implementacją zachowań.
- Polimorfizm (Polymorphism)Zdolność obiektów różnych klas powiązanych hierarchią dziedziczenia do reagowania na to samo wywołanie metody w specyficzny dla siebie sposób.
- Narzędzia programistyczne: Kompilator, Interpreter, DebugerFundamentalne narzędzia wytwarzania oprogramowania: kompilator przekształca cały kod w plik binarny, interpreter wykonuje kod linia po linii, a debugger pozwala śledzić błędy w czasie działania.
Podobne pytania z działu „Typy generyczne i kolekcje”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 6 pytań z tego działu.
- #494
Do czego służy iterator w kolekcjach?
- #495
W którym przypadku kolekcja typu lista będzie bardziej efektywna niż tablica?
- #571
Jak należy dokończyć kod deklarujący obiekt lista zapisany w języku C#? List
<String>lista = ??? - #595
Na podstawie przedstawionej dokumentacji do języka Java wskaż prawidłową deklarację zmiennej typu Map.
- #808
W języku Java, która kolekcja nie pozwala na przechowywanie duplikatów?