Topic Review Questions Portfolio Review 3 1. Why do we use function declarations? Why not just define all the functions above main? 2. Why would a programmer use pass by value rather than pass by reference? 3. Describe a situation in which you cannot use pass by reference. 4. Explain the implementation difference between structs and classes in C++. I'm asking in terms of how the C++ language is defined, now differences in how you use them. 5. Describe a specific situation in which a programmer would reasonably choose a struct over a class in a program. Now describe a situation in which a class would be more appropriate.