Deck 12: Pointers, Classes, Virtual Functions, and Abstract Classes

Full screen (f)
exit full mode
Question
The C++ operator ____ is used to destroy dynamic variables.

A) destroy
B) delete
C) *
D) ~
Use Space or
up arrow
down arrow
to flip the card.
Question
In the statement
int* p, q;
p and q are pointer variables.
Question
A memory leak is an unused memory space that cannot be allocated.
Question
In C++, the member access operator arrow is >>.
Question
A pointer variable is a variable whose content is a memory address.
Question
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
Question
The code int *p; declares p to be a(n) ____ variable.

A) new
B) num
C) pointer
D) address
Question
The dereferencing operator is also known as the indirection operator and refers to the object to which its operand points.
Question
If p is a pointer variable, the statement p = p + 1; is valid in C++.
Question
In C++, pointer variables are declared using the reserved word pointer.
Question
Which of the following can be used to initialize a pointer variable?

A) 1
B) NULL
C) "0"
D) '0'
Question
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.
Question
The C++ operator ____ is used to create dynamic variables.

A) dynamic
B) new
C) virtual
D) dereferencing
Question
Variables that are created during program execution are called static variables.
Question
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
Question
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
Question
In C++, you declare a pointer variable by using the ____ symbol.

A) *
B) &
C) #
D) @
Question
In C++, ____ is called the address of operator.

A) &
B) *
C) #
D) ->
Question
In C++, the dot operator has a lower precedence than the dereferencing operator.
Question
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
Question
In a ____ copy, two or more pointers of the same type point to the same memory.

A) static
B) shallow
C) dynamic
D) deep
Question
In C++, virtual functions are declared using the reserved word ____.

A) virtual
B) private
C) public
D) struct
Question
The statement int *p; is equivalent to int * p;, which is also equivalent to the statement ____________________.
Question
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
Question
Consider the following statements:
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter q is a(n) ____________________ parameter.
Question
The statement that declares board to be an array of six pointers wherein each pointer is of type int is: int ____________________;
Question
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
Question
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)
Question
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
Question
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
Question
Run-time binding is also known as ____ binding.

A) static
B) shallow
C) dynamic
D) deep
Question
In a ____ copy, two or more pointers have their own data.

A) shallow
B) deep
C) static
D) dynamic
Question
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;.
Question
Consider the following statements:
void pointerParameters(int* &p, double *q)
{
.
.
.
}
In the function pointerParameters, the parameter p is a(n) ____________________ parameter.
Question
Which of the following operations is allowed on pointer variables?

A) exp
B) %
C) ==
D) /
Question
An array created during the execution of a program is called a(n) ____ array.

A) list
B) static
C) execution
D) dynamic
Question
A class ____ automatically executes whenever a class object goes out of scope.

A) constructor
B) destructor
C) pointer
D) exception
Question
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
Question
In ____ binding, the necessary code to call a specific function is generated by the compiler.

A) static
B) dynamic
C) shallow
D) deep
Question
Which of the following arithmetic operations is allowed on pointer variables?

A) Increment
B) Modulus
C) Multiplication
D) Division
Question
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.
Question
Consider the following statements:
int x;
int &y = x;
The second statement declares y to be a(n) ____________________ of x.
Question
The binding of virtual functions occurs at program ____________________ time.
Question
Once a class contains one or more pure virtual functions, then that class is called a(n) ____________________ class.
Question
An object of the base class type cannot be passed to a(n) ____________________ parameter of the derived class type.
Question
For classes with pointer member variables, you should include the copy constructor and the ____________________ in the class.
Question
The copy constructor automatically executes when, as a parameter, an object is passed by ____________________.
Question
The statement that declares board to be a pointer to a pointer is: int ____________________;
Question
The copy constructor automatically executes when the return value of a function is a(n) ____________________.
Question
The ____________________ of a base class automatically makes the destructor of a derived class virtual.
Unlock Deck
Sign up to unlock the cards in this deck!
Unlock Deck
Unlock Deck
1/50
auto play flashcards
Play
simple tutorial
Full screen (f)
exit full mode
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) ~
B
2
In the statement
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
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
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'
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.
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
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
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
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) @
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) ->
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
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
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
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
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.
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
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)
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
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
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
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
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;.
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.
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) /
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
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
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
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
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
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.
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.
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
locked card icon
Unlock Deck
Unlock for access to all 50 flashcards in this deck.