1. func1(num) passes an array parameter to the function func1 while func2(num[9] ) passes the double num[9] to the function func2. 2. a) Class: See 6.2 of the text and the lecture notes. b) Object: See 6.2 of the text and the lecture notes. c) Structure: See 6.1 of the text and the lecture notes. d) Array: See 9.1 of the text and the lecture notes. 3. See page 229 of the text and the lecture notes. 4. The following void function is taken from the lecture notes: void copy_numbers(ifstream& input_stream, ofstream& output_stream) // Copies numbers from the input_stream to the output_stream { int num; while (input_stream >> num) output_stream << num << endl; return; } 5. See pages 528-529 of the text and the lecture notes. 6. See section 6.1 and 9.1 of the text and the lecture notes. Two concrete differences are: a) An array is a collection of homogenous types whereas a structure may contain different types. b) An array is an indexed data structure. The elements are obtained by determining the offset from the zeroth cell. Structure elements must be explicitly named by way of the dot operator. 7. See page 305 of the text and the lecture notes. 8. See page 251 (The Memeber Function get) and the lecture notes.