CS Chapter 14 Test 2 Review
It is a good idea to make a copy constructor's parameters ________ by specifying the ________ key word in the parameter list.
constant, const
This is a special function that is called whenever a new object is created and initialized with another object's data
copy constructor
When objects contain pointers, it is a good idea to create an explicit ________ function
copy constructor
If you do not furnish one of these a default will be provided for you by the compiler.
copy constructor, constructor, destructor
When you redefine the way a standard operator works when it is used with class objects, you have ________ the operator.
overloaded
A member function that is declared ________ may not access any non-static data members in the class.
static
If a member variable is declared ________, all objects of that class have access to that variable.
static
This type of member variable may be accessed before any objects of the class have been created.
static
This operator may be used to assign one object to another.
=
True/False: A non-static member function may not access a static member variable
FALSE
True/False: A public data member may be declared a friend of a private function.
FALSE
True/False: C++ permits you to overload the sizeof operator and the this pointer.
FALSE
True/False: If you overload the prefix ++ operator, the postfix ++ operator is automatically overloaded.
FALSE
True/False: In C++, if you overload the < operator, you must also overload the > operator.
FALSE
True/False: When a class declares an entire class as its friend, the friendship status is reciprocal. That is, each class's member functions have free access to the other's private members.
FALSE
True/False: When you overload the << operator, you must also overload the >> operator.
FALSE
True/False: You can overload the conditional operator to make it function as an unconditional operator
FALSE
True/False: You may overload any C++ operator, and you may use the operator function to define non-standard operators, such as @ and ^.
FALSE
True/False: A static member function does not need to be called by a specific object of the class.
TRUE
True/False: A static member variable can be used when there are no objects of the class in existence.
TRUE
True/False: By default, when an object is assigned to another, each member of one object is copied to its counterpart in the other object.
TRUE
True/False: It is possible to declare an entire class as a friend of another class.
TRUE
True/False: The this pointer is a special built-in pointer that is automatically passed as a hidden argument to all non-static member functions.
TRUE
True/False: The this pointer is automatically passed to non-static member functions of a class.
TRUE
True/False: When you overload an operator, you can change the operator's original meaning to something entirely different.
TRUE
In the following function header: FeetInches FeetInches::operator++(int)
dummy parameter
A(n) ________ informs the compiler that a class will be declared later in the program.
forward declaration
This type of function is not a member of a class, but it has access to the private members of the class.
friend
Object composition is useful for creating this type of relationship between classes.
has a
Each object of a class has its own copy of the class's ________.
member variables
When a class contains an instance of another class, it is known as ________.
object composition
When you overload an operator, you cannot change the number of ________ taken by the operator.
operands
To overload the + operator, you would write a function named ________.
operator +
An ________ operator can work with programmer-defined data types.
overloaded
If you do not furnish one of these, an automatic memberwise copy will be performed when one object is assigned to another object.
overloaded assignment operator
C++ requires that a copy constructor's parameter be a(n) ________.
reference object
A reason to overload the ________ is to write classes that have array-like behaviors.
square brackets [ ] operator
C++ allows you to redefine the way ________ work when used with class objects
standard operators
This is a special built-in pointer that is available to a class's member functions
this pointer
A good reason for overloading an operator is to enable it to ________.
work in its usual way, but with programmer-defined data types