Deck 13: Overloading and Templates
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/41
Play
Full screen (f)
Deck 13: Overloading and Templates
1
In C++, >> is used as a stream extraction operator and as a right shift operator.
True
2
Most operator functions can either be member functions or nonmember functions of a class.
True
3
The declaration of a friend function cannot be placed within the private part of the class.
False
4
The function that overloads the ____ operator for a class must be declared as a member of the class.
A) ::
B) *
C) ->
D) +
A) ::
B) *
C) ->
D) +
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
5
Operator functions typically return void.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
6
The associativity of the operator = is from right to left.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
7
Operators can be overloaded either for objects of the user-defined types, or for a combination of objects of the user-defined type and objects of the built-in type.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
8
Which of the following function prototypes overloads the != operator for the class rectangleType?
A) bool operator!=(rectangle&) const;
B) bool operator!=(const rectangleType&) const;
C) int operator!=(const rectangleType) const;
D) int operator!=(rectangle&) const;
A) bool operator!=(rectangle&) const;
B) bool operator!=(const rectangleType&) const;
C) int operator!=(const rectangleType) const;
D) int operator!=(rectangle&) const;
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
9
The name of the function to overload the operator <= is ____.
A) overload<=
B) <=new
C) operator<=
D) <=operator
A) overload<=
B) <=new
C) operator<=
D) <=operator
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
10
Every object of a class maintains a (hidden) pointer to itself, and the name of this pointer is ____.
A) self
B) object
C) it
D) this
A) self
B) object
C) it
D) this
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
11
The general syntax to overload the stream extraction operator >> for a class is ____.
A) istream& operator>>(istream&, className&);
B) const istream& operator>>(istream&, className&);
C) friend operator>>(istream&, className&);
D) friend istream& operator>>(istream&, className&);
A) istream& operator>>(istream&, className&);
B) const istream& operator>>(istream&, className&);
C) friend operator>>(istream&, className&);
D) friend istream& operator>>(istream&, className&);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
12
To include the operator function operator+ as a nonmember function of the class rectangleType, its prototype in the definition of rectangleType is: ____ rectangleType operator+(const rectangleType&, const rectangleType&);
A) bool
B) int
C) double
D) friend
A) bool
B) int
C) double
D) friend
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
13
In C++, operator is a reserved word.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
14
A friend function does not have access to the private data members of the class.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
15
The return type of the function operator == is ____.
A) int
B) bool
C) char
D) void
A) int
B) bool
C) char
D) void
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
16
When an object invokes a member function, the member function references the pointer ____ of the object.
A) object
B) it
C) this
D) address
A) object
B) it
C) this
D) address
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
17
The general form of the functions to overload the binary operators as member functions of a class is returnType operator#(____ className&) const;.
A) class
B) const
C) *
D) &
A) class
B) const
C) *
D) &
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
18
Both parameters of the function to overload the operator << are reference parameters.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
19
When writing the definition of a friend function, the name of the class and the scope resolution operator precede the name of the friend function in the function heading.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
20
A(n) ____ function is a nonmember function that has access to all members of the class.
A) access
B) protected
C) friend
D) void
A) access
B) protected
C) friend
D) void
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
21
Using a class template, you can write a single code segment for a set of related ____.
A) classes
B) functions
C) operators
D) constructors
A) classes
B) functions
C) operators
D) constructors
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
22
The general syntax for the function prototype to overload the assignment operator = for a class is ____.
A) friend className& operator=(const className&);
B) className& operator=(className&);
C) string className& operator=(className&);
D) const className& operator=(const className&);
A) friend className& operator=(const className&);
B) className& operator=(className&);
C) string className& operator=(className&);
D) const className& operator=(const className&);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
23
The ____________________ operator causes a member-wise copy of the member variables of the class.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
24
Any function that overloads an operator is called a(n) ____________________ function.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
25
The only built-in operations on classes are assignment (=) and ____________________.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
26
To overload the pre-increment (++) operator for a class, if the operator function is a member of that class, it must have ____ parameter(s).
A) no
B) one
C) two
D) three
A) no
B) one
C) two
D) three
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
27
Which of the following is the syntax to declare the operator function operator[] as a member function of a class for constant arrays?
A) const Type& []operator(int index) const;
B) const Type& operator[](int index) const;
C) const Type& operator[](int index);
D) const Type [](int index) const;
A) const Type& []operator(int index) const;
B) const Type& operator[](int index) const;
C) const Type& operator[](int index);
D) const Type [](int index) const;
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
28
With the exception of the ____________________ operator and the member selection operator, operators must be overloaded to be used on class objects.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
29
If you overload the binary arithmetic operator + as a member function, how many objects must be passed as parameters?
A) none
B) one
C) two
D) three
A) none
B) one
C) two
D) three
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
30
The operators that cannot be overloaded are ., .*, ::, ?:, and ____________________.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
31
Which of the following is a built-in operation on classes?
A) increment
B) assignment
C) decrement
D) relational operators
A) increment
B) assignment
C) decrement
D) relational operators
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
32
Class templates are called ____ types.
A) polymorphic
B) structured
C) member
D) parameterized
A) polymorphic
B) structured
C) member
D) parameterized
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
33
Suppose cType is a class template, and func is a member function of cType. The heading of the function definition of func is: ____.
A) template
FuncType cType == func(parameters)
B) template
FuncType cType
C) template
FuncType cType::func(parameters)
D) template
FuncType cTypefunc(parameters;
A) template
FuncType cType
B) template
FuncType cType
C) template
FuncType cType
D) template
FuncType cType
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
34
Which of the following is the general syntax of the function prototype to overload the post-increment operator as a member function?
A) className operator++();
B) friend className operator++();
C) className operator++(int);
D) friend className operator++(int);
A) className operator++();
B) friend className operator++();
C) className operator++(int);
D) friend className operator++(int);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
35
Which of the following is the general syntax of the function prototype to overload the pre-increment operator as a nonmember function?
A) className operator++();
B) friend className operator++();
C) className operator++(int);
D) friend className operator++(className&);
A) className operator++();
B) friend className operator++();
C) className operator++(int);
D) friend className operator++(className&);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
36
Suppose cType is a class template, which can take int as a parameter. The statement: ____ declares x to be an object of type cType, and the type passed to the class cType is int.
A) cType x;
B) cType int x;
C) cType int = x;
D) cType int :: x;
A) cType
B) cType int x;
C) cType int = x;
D) cType int :: x;
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
37
Which of the following is the syntax to declare the operator function operator[] as a member function of a class for nonconstant arrays?
A) Type& []operator(int index);
B) Type operator[](int index);
C) Type& operator[](int index);
D) Type [](int index);
A) Type& []operator(int index);
B) Type operator[](int index);
C) Type& operator[](int index);
D) Type [](int index);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
38
When the post-increment operator is overloaded as a nonmember function of the class, the operator function has ____ parameter(s).
A) no
B) one
C) two
D) three
A) no
B) one
C) two
D) three
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
39
The return type of the function to overload the operator >> must be a reference to a(n) ____ object.
A) iostream
B) ostream
C) stream
D) istream
A) iostream
B) ostream
C) stream
D) istream
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
40
Which of the following is the general syntax of the function prototype to overload the pre-increment operator ++ as a member function?
A) className operator++();
B) className operator++(int);
C) friend className operator++();
D) friend className operator++(int);
A) className operator++();
B) className operator++(int);
C) friend className operator++();
D) friend className operator++(int);
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck
41
A(n) ____________________ constructor converts its argument to an object of the constructor's class.
Unlock Deck
Unlock for access to all 41 flashcards in this deck.
Unlock Deck
k this deck