Question 1
1.1 In your own words discuss similarities and differences between a function and a small program.
1.2 Define a function named average grade. This function returns a double and has four double arguments, testi, test2, test3, test4. The return value should be the average, or arithmetic mean of the four arguments. Be sure to include a comment that tells briefly what the function does
1.3 Find the errors in the following class and explain how to correct them:
class Example
public:
Example( int y = 10 ) : data( y
// empty body
1 // end Example constructor
int getIncrementedData ( ) const
return data++;
1 // end function getIncrementedData
static int getCount()
{
cout << "Data is " << data << endl; return count;
1 // end function getCount
private:
int data;
static int count;
1; // end class Example
1.4 Write an if-else statement using a C-string function that reports whether two C-strings variables contain the same C-string.
Question 3
3.1 Please explain why the statement "Mixing call-by-reference and call-by-value parameters is strictly prohibited" is false.
3.2 If, in a class, one uses the keyword pub 1 ic : , it affects only the member that immediately follows the keyword public, making this member accessible to any other function defined anywhere.
Explain why above statement is Wrong.
Question 2:
2.1 If, in a class, one uses the keyword pub 1 ic : , it affects only the member that immediately follows the keyword public, making this member accessible to any other function defined anywhere.
Explain why above statement is Wrong.
2.2 Suppose you have a class whose objects are very, very large. Briefly, describe the advantages and drawbacks of call-by-value and call-by-reference for large objects. Describe a parameter passing mechanism that will allow the safety of call-by-value and the efficiency of call-by-reference.
2.3 Write an if-else statement using a C-string function that reports whether two C-strings variables contain the same C-string.
2.4 Suppose you have a class whose objects are very, very large. Briefly, describe the advantages and drawbacks of call-by-value and call-by-reference for large objects. Describe a parameter passing mechanism that will allow the safety of call-by-value and the efficiency of call-by-reference.
Question 4:
4.1 Give the sequence of steps for creating and using a dynamic array.
a) define a pointer type for pointers to variables of the type the elements are to be
b) declare a pointer variable of the defined type to point to the dynamically allocated array.
c) assign to the pointer variable the returned value from a call to new
d) use as you would any array.
e) before the end of the block where the pointer variable is declared, call the delete operator with the pointer variable as argument. Note the syntax for the deletion of memory allocated as an array.
The operator * is prefixed to an iterator to
a) Multiply the element in the container
b) Extract the element in the container to assign to it only
c) Extract the element in the container to fetch its value only
d) Extract the element in the container as either an 1-value or an r-value
e) The * is overloaded to perform addition, so this operator moves where the iterator points by a number of elements.
4.3 Please select ONLY one right answer for the following statement.
An exception is propagated
a) From a place where the error occurs to the handler in the catch block.
b) From the throw statement buried in the try block to the handler in the catch block.
c) From a throw statement, not in a try block to the handler in the catch block.
d) From the catch block to the try block.
e) From the handler in the throw block to the try block.