Q1
What are templates? (Generic Programming - Concept of Templates)
Answer: Templates are a tool that allows us to write generic code that can be used
with any data type.
Q2
Why are templates useful? (Generic Programming - Concept of Templates)
Answer: For function templates, we only need to implement the function once and we
let the compiler generate each instance of the template function based on the type of
data that the client uses.
Q3
Where does the template keyword belong? (Generic Programming - Concept of Templates)
Answer: The template keyword should go before the identifiers that represent each
type dependency template <typename TYPE> or template <class TYPE>
Q4
What is the template formal argument list? (Generic Programming - Concept of Templates)
Answer: The template formal argument list specifies the type identifiers used to
represent the type dependencies and non-type identifiers used to represent specific
values.
Q5
How do you create an object of a
Answer: template <typename T>
Q6
Programming - Concept of
Answer: public:
, Q7
Templates)
Answer: T data; Example(T val) : data(val) {} }; Example<int> obj1(42); // object
Q8
What do "type dependencies" mean? (Generic Programming - Concept of Templates)
Answer: Type dependencies are when the behavior/meaning of a template depends on
a type parameter (aka parts of the code that depend on the template parameters)
Q9
What role does operator overloading have with templates? (Generic Programming - Concept of
Templates)
Answer: Templates don't impose constraints at compile time unless the specific
operators are used so operator overloading helps to make sure that the user defined
types work generically and naturally with the standard operators
Q10
What happens if an expected
Answer: The compiler will produce a compile-time error but
Q11
(Generic Programming - Concept of
Answer: (Generic Programming - Concept of
Q12
Create a template for a node class
Answer: template <typename T>
Q13
(Generic Programming - Concept of
Answer: class Node {