Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Multiple Choice Multiple Choice Section 4.1 Pointers and Dynamic Memory Consider the following statements: int *p; int i; int k; i = 42; k =

Multiple Choice

Multiple Choice Section 4.1 Pointers and Dynamic Memory
  1. Consider the following statements:
     int *p; int i; int k; i = 42; k = i; p = &i; 
    After these statements, which of the following statements will change the value of i to 75?
    • A. k = 75;
    • B. *k = 75;
    • C. p = 75;
    • D. *p = 75;
    • E. Two or more of the answers will change i to 75.

  2. Consider the following statements:
     int i = 42; int j = 80; int *p1; int *p2; p1 = &i; p2 = &j; *p1 = *p2; cout << i << j << endl; 
    What numbers are printed by the output statement?
    • A. 42 and then another 42
    • B. 42 and then 80
    • C. 80 and then 42
    • D. 80 and then another 80

  3. What is printed by these statements?
     int i = 1; int k = 2; int *p1; int *p2; p1 = &i; p2 = &k; p1 = p2; *p1 = 3; *p2 = 4; cout << i; 
    • A. 1
    • B. 2
    • C. 3
    • D. 4

  4. What is printed by these statements?
     int i = 1; int k = 2; int* p1; int* p2; p1 = &i; p2 = &k; p1 = p2; *p1 = 3; *p2 = 4; cout << k; 
    • A. 1
    • B. 2
    • C. 3
    • D. 4

  5. What is printed by these statements?
     int i = 1; int k = 2; int* p1; int* p2; p1 = &i; p2 = &k; *p1 = *p2; *p1 = 3; *p2 = 4; cout << i; 
    • A. 1
    • B. 2
    • C. 3
    • D. 4

  6. When allocating an array of objects, what constructor is used to initialize all of the objects in the array?
    • A. The automatic copy constructor.
    • B. The constructor specified at the declaration.
    • C. The default constructor.
    • D. None of the above.

  7. In which location do dynamic variables reside?
    • A. The code segment.
    • B. The data segment.
    • C. The heap.
    • D. The run-time stack.

    Multiple Choice Section 4.2 Pointers and Arrays as Parameters

  8. When should a pointer parameter p be a reference parameter?
    • A. When the function changes p, and you want the change to affect the actual pointer argument.
    • B. When the function changes p, and you do NOT want the change to affect the actual pointer argument.
    • C. When the function changes *p, and you want the change to affect the the object that is pointed at.
    • D. When the function changes *p, and you do NOT want the change to affect the the object that is pointed at.
    • E. When the pointer points to a large object.

  9. Suppose you have the following function prototype and variable declaration:
     void goop(int z[ ]); int x[10]; 
    Which is the correct way to call the goop function with x as the argument:
    • A. goop(x);
    • B. goop(x[ ]);
    • C. goop(x[10]);
    • D. goop(&x);
    • E. goop(&x[ ]);

  10. Suppose that the goop function from the previous question changes the value of z[1]. Does this change effect the value of the actual argument?
    • A. Yes
    • B. No

  11. Here is a function declaration:
     void goo(int* x) { *x = 1; } 
    Suppose that a is an int* variable pointing to some integer, and *a is equal to zero. What is printed if you print *a after the function call goo(a)?
    • A. 0
    • B. 1
    • C. address of a
    • D. address of x
    • E. None of the above

    Multiple Choice Section 4.3 The Bag ADT with a Dynamic Array

  12. Here is a small function that uses the dynamic bag class from Chapter 4:
     void quiz( ) { bag::size_type i; // Line 1 bag b; // Line 2 b.insert(42); // Line 3 i = b.size( ); // Line 4 cout << i; // Line 5 } 
    When is the bag's dynamic array allocated?
    • A. During the execution of Line 2.
    • B. During the execution of Line 3.
    • C. Just after Line 4 and before line 5.
    • D. After Line 5.

  13. Here is a small function that uses the dynamic bag class from Chapter 4:
     void quiz( ) { bag::size_type i; // Line 1 bag b; // Line 2 b.insert(42); // Line 3 i = b.size( ); // Line 4 cout << i; // Line 5 } 
    When is the bag's dynamic array returned to the heap?
    • A. During the execution of Line 2.
    • B. During the execution of Line 3.
    • C. Just after Line 4 and before line 5.
    • D. After Line 5.

  14. The + operator which combines two bags was not declared as a member function of the bag class. How can this function access the private data members of the two bags passed as arguments?
    • A. It cannot.
    • B. The operator is declared to be a friend to the class.
    • C. The operator is implemented in the header file containing the bag class definition.
    • D. The operator is implemented in the same implementation file as the bag class.

  15. Suppose that a new foo class has this prototype for an overloaded assignment operator:
     void operator =(const foo& source); 
    In an assignment statement a = b, what will be the actual argument for the parameter source?
    • A. a
    • B. b

  16. Suppose you are implementing an assignment operator, a copy constructor, and an operator +=. For which of these functions do you need to worry about possible "self-application" (where the argument is the same as the object that activates the function):
    • A. Only one of the three functions has possible self-application
    • B. The assignment operator and the copy construtor have possible self-application
    • C. The assignment operator and the operator += have possible self-application
    • D. The copy construtor and the operator += have possible self-application
    • E. All three functions have possible self-application

  17. What is the usual worst-case performance for resizing a container class that stores its data in a dynamic array?
    • A. Constant time
    • B. Logarithmic time
    • C. Linear time
    • D. Quadratic time

    Multiple Choice Section 4.4 Prescription for a Dynamic Class

  18. When a class uses dynamic memory, what member functions should be provided by the class?
    • A. The assignment operator.
    • B. The copy constructor.
    • C. A destructor.
    • D. All of the above.

  19. Which situation does not use the copy constructor?
    • A. Calling a function with a reference parameter
    • B. Calling a function with a value parameter
    • C. Declaring a variable to be a copy of another existing object
    • D. Returning a value from a function
    • E. All of the above situations use the copy constructor

    Multiple Choice Section 4.5 The String ADT

  20. Suppose that you want to declare an array of characters to hold a C++ string with exactly 9 letters. Which declaration is best?
    • A. char s[8];
    • B. char s[9];
    • C. char s[10];
    • D. char s[11];
    • E. char s[12];

  21. Suppose that x and y are two C++ strings. Which expression will return true whenever x and y contain the same sequence of characters?
    • A. (x = y)
    • B. (x == y)
    • C. (x != y)
    • D. (strcmp(x, y))

  22. Suppose that you want to develop two different + operators that calculate and return an object of some class. Which statement is correct?
    • A. One operator must be a friend and the other must not.
    • B. One operator must be public and the other private.
    • C. The operators must have a different parameter lists.
    • D. It is not possible to have two different + operators.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Students also viewed these Databases questions

Question

Explain the various methods of job evaluation

Answered: 1 week ago

Question

Differentiate Personnel Management and Human Resource Management

Answered: 1 week ago

Question

Describe the functions of Human resource management

Answered: 1 week ago