CS302 Midterm #2 Practice Questions and
Answers (100% Correct Answers) Already
Graded A+
What are templates? (Generic Programming - Concept of
Templates) [ Ans: ] Templates are a tool that allows us to
write generic code that can be used with any data type.
Why are templates useful? (Generic Programming -
Concept of Templates) [ Ans: ] 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.
Where does the template keyword belong? (Generic
Programming - Concept of Templates) [ Ans: ] The
template keyword should go before the identifiers that
represent each type dependency
template <typename TYPE>
or
template <class TYPE>
What is the template formal argument list? (Generic
Programming - Concept of Templates) [ Ans: ] The
template formal argument list specifies the type
identifiers used to represent the type dependencies and
non-type identifiers used to represent specific values.
, How do you create an object of a class template? (Generic
Programming - Concept of Templates) [ Ans: ] template
<typename T>
class Example {
public:
T data;
Example(T val) : data(val) {}
};
Example<int> obj1(42); // object
What do "type dependencies" mean? (Generic
Programming - Concept of Templates) [ Ans: ] 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)
What role does operator overloading have with templates?
(Generic Programming - Concept of Templates) [ Ans: ]
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
What happens if an expected operator is not overloaded?
(Generic Programming - Concept of Templates) [ Ans: ]
Answers (100% Correct Answers) Already
Graded A+
What are templates? (Generic Programming - Concept of
Templates) [ Ans: ] Templates are a tool that allows us to
write generic code that can be used with any data type.
Why are templates useful? (Generic Programming -
Concept of Templates) [ Ans: ] 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.
Where does the template keyword belong? (Generic
Programming - Concept of Templates) [ Ans: ] The
template keyword should go before the identifiers that
represent each type dependency
template <typename TYPE>
or
template <class TYPE>
What is the template formal argument list? (Generic
Programming - Concept of Templates) [ Ans: ] The
template formal argument list specifies the type
identifiers used to represent the type dependencies and
non-type identifiers used to represent specific values.
, How do you create an object of a class template? (Generic
Programming - Concept of Templates) [ Ans: ] template
<typename T>
class Example {
public:
T data;
Example(T val) : data(val) {}
};
Example<int> obj1(42); // object
What do "type dependencies" mean? (Generic
Programming - Concept of Templates) [ Ans: ] 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)
What role does operator overloading have with templates?
(Generic Programming - Concept of Templates) [ Ans: ]
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
What happens if an expected operator is not overloaded?
(Generic Programming - Concept of Templates) [ Ans: ]