Deck 12: Pointers, Classes, Virtual Functions, and Abstract Classes
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Question
Unlock Deck
Sign up to unlock the cards in this deck!
Unlock Deck
Unlock Deck
1/50
Play
Full screen (f)
Deck 12: Pointers, Classes, Virtual Functions, and Abstract Classes
1
The C++ operator ____ is used to destroy dynamic variables.
A) destroy
B) delete
C) *
D) ~
A) destroy
B) delete
C) *
D) ~
B
2
In the statement
int* p, q;
p and q are pointer variables.
int* p, q;
p and q are pointer variables.
False
3
A memory leak is an unused memory space that cannot be allocated.
True
4
In C++, the member access operator arrow is >>.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
5
A pointer variable is a variable whose content is a memory address.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
6
What is the value of x after the following statements execute? int x = 25;
Int *p;
P = &x;
*p = 46;
A) NULL
B) 0
C) 25
D) 46
Int *p;
P = &x;
*p = 46;
A) NULL
B) 0
C) 25
D) 46
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
7
The code int *p; declares p to be a(n) ____ variable.
A) new
B) num
C) pointer
D) address
A) new
B) num
C) pointer
D) address
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
8
The dereferencing operator is also known as the indirection operator and refers to the object to which its operand points.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
9
If p is a pointer variable, the statement p = p + 1; is valid in C++.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
10
In C++, pointer variables are declared using the reserved word pointer.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
11
Which of the following can be used to initialize a pointer variable?
A) 1
B) NULL
C) "0"
D) '0'
A) 1
B) NULL
C) "0"
D) '0'
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
12
Given the declaration
int *p;
The statement
p = new int[50];
dynamically allocates an array of 50 components of type int and p contains the base address of the array.
int *p;
The statement
p = new int[50];
dynamically allocates an array of 50 components of type int and p contains the base address of the array.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
13
The C++ operator ____ is used to create dynamic variables.
A) dynamic
B) new
C) virtual
D) dereferencing
A) dynamic
B) new
C) virtual
D) dereferencing
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
14
Variables that are created during program execution are called static variables.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
15
What is the output of the following code? int *p;
Int x;
X = 12;
P = &x;
Cout << x << ", ";
*p = 81;
Cout << *p << endl;
A) 12, 12
B) 12, 81
C) 81, 12
D) 81, 81
Int x;
X = 12;
P = &x;
Cout << x << ", ";
*p = 81;
Cout << *p << endl;
A) 12, 12
B) 12, 81
C) 81, 12
D) 81, 81
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
16
What is the output of the following code? int *p;
Int x;
X = 76;
P = &x;
*p = 43;
Cout << x << ", " << *p << endl;
A) 76, 76
B) 76, 43
C) 43, 76
D) 43, 43
Int x;
X = 76;
P = &x;
*p = 43;
Cout << x << ", " << *p << endl;
A) 76, 76
B) 76, 43
C) 43, 76
D) 43, 43
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
17
In C++, you declare a pointer variable by using the ____ symbol.
A) *
B) &
C) #
D) @
A) *
B) &
C) #
D) @
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
18
In C++, ____ is called the address of operator.
A) &
B) *
C) #
D) ->
A) &
B) *
C) #
D) ->
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
19
In C++, the dot operator has a lower precedence than the dereferencing operator.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
20
What is the output of the following statements? int x = 33;
Int *q;
Q = &x;
Cout << *q << endl;
A) NULL
B) 0
C) 3
D) 33
Int *q;
Q = &x;
Cout << *q << endl;
A) NULL
B) 0
C) 3
D) 33
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
21
In a ____ copy, two or more pointers of the same type point to the same memory.
A) static
B) shallow
C) dynamic
D) deep
A) static
B) shallow
C) dynamic
D) deep
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
22
In C++, virtual functions are declared using the reserved word ____.
A) virtual
B) private
C) public
D) struct
A) virtual
B) private
C) public
D) struct
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
23
The statement int *p; is equivalent to int * p;, which is also equivalent to the statement ____________________.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
24
The ____ operator can be used to return the address of a private data member of a class.
A) dereferencing
B) destructor
C) address of
D) member access
A) dereferencing
B) destructor
C) address of
D) member access
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
25
Consider the following statements:
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter q is a(n) ____________________ parameter.
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter q is a(n) ____________________ parameter.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
26
The statement that declares board to be an array of six pointers wherein each pointer is of type int is: int ____________________;
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
27
Given the declaration int *a;, the statement a = new int[50]; dynamically allocates an array of 50 components of the type ____.
A) int
B) int*
C) pointer
D) address
A) int
B) int*
C) pointer
D) address
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
28
Which of the following would be appropriate syntax for the heading of a copy constructor for a class called rulerType?
A) rulerType(int inches, int centimeters)
B) rulerType()
C) rulerType(const rulerType& myRuler)
D) copy rulerType(int inches, int centimeters)
A) rulerType(int inches, int centimeters)
B) rulerType()
C) rulerType(const rulerType& myRuler)
D) copy rulerType(int inches, int centimeters)
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
29
Given the statement double *p;, the statement p++; will increment the value of p by ____ byte(s).
A) one
B) two
C) four
D) eight
A) one
B) two
C) four
D) eight
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
30
The ____ constructor is executed when an object is declared and initialized by using the value of another object.
A) default
B) copy
C) struct
D) class
A) default
B) copy
C) struct
D) class
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
31
Run-time binding is also known as ____ binding.
A) static
B) shallow
C) dynamic
D) deep
A) static
B) shallow
C) dynamic
D) deep
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
32
In a ____ copy, two or more pointers have their own data.
A) shallow
B) deep
C) static
D) dynamic
A) shallow
B) deep
C) static
D) dynamic
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
33
Consider the following declaration of a struct:
struct studentType
{
char name[26];
double gpa;
int sID;
char grade;
};
studentType student;
studentType *studentPtr;
The statement (*studentPtr).gpa = 2.5; is equivalent to ___________________ = 2.5;.
struct studentType
{
char name[26];
double gpa;
int sID;
char grade;
};
studentType student;
studentType *studentPtr;
The statement (*studentPtr).gpa = 2.5; is equivalent to ___________________ = 2.5;.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
34
Consider the following statements:
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter p is a(n) ____________________ parameter.
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter p is a(n) ____________________ parameter.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
35
Which of the following operations is allowed on pointer variables?
A) exp
B) %
C) ==
D) /
A) exp
B) %
C) ==
D) /
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
36
An array created during the execution of a program is called a(n) ____ array.
A) list
B) static
C) execution
D) dynamic
A) list
B) static
C) execution
D) dynamic
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
37
A class ____ automatically executes whenever a class object goes out of scope.
A) constructor
B) destructor
C) pointer
D) exception
A) constructor
B) destructor
C) pointer
D) exception
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
38
Consider the following statement: ptrMemberVarType objectThree(objectOne);
The values of the member variables of objectOne are being copied into the corresponding member variables of objectThree. This initialization is called the ____.
A) member-wise assignment
B) default assignment
C) member-wise initialization
D) default initialization
The values of the member variables of objectOne are being copied into the corresponding member variables of objectThree. This initialization is called the ____.
A) member-wise assignment
B) default assignment
C) member-wise initialization
D) default initialization
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
39
In ____ binding, the necessary code to call a specific function is generated by the compiler.
A) static
B) dynamic
C) shallow
D) deep
A) static
B) dynamic
C) shallow
D) deep
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
40
Which of the following arithmetic operations is allowed on pointer variables?
A) Increment
B) Modulus
C) Multiplication
D) Division
A) Increment
B) Modulus
C) Multiplication
D) Division
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
41
Consider the following statements:
class shape
{
public:
virtual void draw() = 0;
virtual void move(double x, double y) = 0;
.
.
.
};
The code above is an example of a(n) ____________________ class definition.
class shape
{
public:
virtual void draw() = 0;
virtual void move(double x, double y) = 0;
.
.
.
};
The code above is an example of a(n) ____________________ class definition.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
42
Consider the following statements:
int x;
int &y = x;
The second statement declares y to be a(n) ____________________ of x.
int x;
int &y = x;
The second statement declares y to be a(n) ____________________ of x.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
43
The binding of virtual functions occurs at program ____________________ time.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
44
Once a class contains one or more pure virtual functions, then that class is called a(n) ____________________ class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
45
An object of the base class type cannot be passed to a(n) ____________________ parameter of the derived class type.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
46
For classes with pointer member variables, you should include the copy constructor and the ____________________ in the class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
47
The copy constructor automatically executes when, as a parameter, an object is passed by ____________________.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
48
The statement that declares board to be a pointer to a pointer is: int ____________________;
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
49
The copy constructor automatically executes when the return value of a function is a(n) ____________________.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
50
The ____________________ of a base class automatically makes the destructor of a derived class virtual.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck