Lab 5 Prelab Questions 1) Explain Aggregation. Give an analogy to the real world to support your explanation. 2) Describe why you would use aggregation? 3) Give an example of when you should use aggregation while you are programming. 4) Give an example of a class using aggregation (header only). 5) If you had to represent, in code, the notion of a car, would you use aggregation? Why? Describe the components a car would have. 6) Is this a good example of aggregation? Explain why or why not. Provide an example to support your claim. class Window { ... }; class Door { Window w; public: Door(); }; 7) How will you access the member variables of an aggregated data member? 8) What would be the best way to aggregate following classes? class Room; class House; class Door; class Window; 9) Why doesn't the following code compile? How would you fix it? #include using namespace std; class Small { public: Small(int,int); private: int m_x, m_y; }; Small::Small(int x, int y) { m_x = x; m_y = y; } class Big { public: Big(); private: Small m_data; }; Big::Big() { m_data = Small(3,4); } int main() { Big hello; }