Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Problem 3 (2 points) We've discussed why it's so often the case that we write C++ templates in header files rather than source files, but
Problem 3 (2 points) We've discussed why it's so often the case that we write C++ templates in header files rather than source files, but let's be sure we have our minds wrapped around it; it's a critical part of being able to use templates in our designs. Suppose you've decided to write a function template that you expect to use in many different source files. Suppose, further, that you haven't followed the basic advice of writing C++ templates in header files, but have instead done the following: Written only a declaration of the function template in a header file x.hpp (i.e., all you wrote in the header file is template and then the function's signature). . Written the function template, including its body, in the corresponding source file x.cpp. Now suppose that you've written a separate source file, y.cpp, in which you've written #include "x.hpp" near the top and then instantiated the function template by calling it, and that your call to the function template is a legal instantiation (i.e., it has the right number of parameters and they're compatible with any constraints introduced within the template). Will it always be the case that this program can be built? . If so, why do we have a rule about writing C++ templates in header files (i.e., If this isn't the problem that rule solves, what problem does it solve?)? . If not, specifically why does the program not build? What steps will succeed? What steps will fail? What to submit Add one PDF file to your problems directory with this name: problem3.pdf, which contains your answers to this
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started