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
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 13: Overloading and Templates
1
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
C
2
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) &
B
3
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
D
4
Both parameters of the function to overload the operator << are reference parameters.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
5
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 50 flashcards in this deck.
Unlock Deck
k this deck
6
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 50 flashcards in this deck.
Unlock Deck
k this deck
7
The general syntax of the function prototype 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 50 flashcards in this deck.
Unlock Deck
k this deck
8
A friend function does not have access to the private data members of the class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
9
The declaration of a friend function cannot be placed within the private part of the class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
10
In C++,>> is used as a stream extraction operator and as a right shift operator.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
11
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 50 flashcards in this deck.
Unlock Deck
k this deck
12
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 50 flashcards in this deck.
Unlock Deck
k this deck
13
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 50 flashcards in this deck.
Unlock Deck
k this deck
14
Operator functions typically return void.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
15
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 50 flashcards in this deck.
Unlock Deck
k this deck
16
The associativity of the operator = is from right to left.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
17
Most operator functions can either be member functions or nonmember functions of a class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
18
In C++,operator is a reserved word.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
19
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 50 flashcards in this deck.
Unlock Deck
k this deck
20
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 50 flashcards in this deck.
Unlock Deck
k this deck
21
Any function that overloads an operator is called a(n)____________________ function.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
22
Which of the following is the syntax to overload 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 50 flashcards in this deck.
Unlock Deck
k this deck
23
The operators that cannot be overloaded are .,.*,::,?:,and ____________________.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
24
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 50 flashcards in this deck.
Unlock Deck
k this deck
25
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 50 flashcards in this deck.
Unlock Deck
k this deck
26
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 50 flashcards in this deck.
Unlock Deck
k this deck
27
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 50 flashcards in this deck.
Unlock Deck
k this deck
28
The ____________________ operator function as a member of a class has only one parameter; as a nonmember of a class,it has two parameters.
Unlock Deck
Unlock for access to all 50 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 50 flashcards in this deck.
Unlock Deck
k this deck
30
Which of the following is a built-in operation on classes?
A) increment
B) assignment
C) decrement
D) relational
A) increment
B) assignment
C) decrement
D) relational
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
31
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 50 flashcards in this deck.
Unlock Deck
k this deck
32
Which of the following is the syntax to overload 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 50 flashcards in this deck.
Unlock Deck
k this deck
33
The only built-in operations on classes are assignment (=)and ____________________.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
34
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 50 flashcards in this deck.
Unlock Deck
k this deck
35
Except for the ____________________ operator and the member selection operator,to use an operator on class objects,that operator must be overloaded.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
36
The general syntax 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 50 flashcards in this deck.
Unlock Deck
k this deck
37
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 50 flashcards in this deck.
Unlock Deck
k this deck
38
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 50 flashcards in this deck.
Unlock Deck
k this deck
39
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 50 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 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 50 flashcards in this deck.
Unlock Deck
k this deck
41
A conversion constructor is a(n)____________________ parameter function.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
42
A(n)____________________ constructor converts its argument to an object of the constructor's class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
43
A class template is called a(n)____________________ type because it specifies how a generic class template is to be customized to form a specific template class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
44
To overload a(n)____________________ operator for a class,if the operator function is a nonmember,it has one parameter.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
45
In C++,a function ____________________ can be overloaded.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
46
The operator function that overloads the insertion operator,<<,or the extraction operator,>>,for a class must be a(n)____________________ function of that class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
47
Passing a parameter to a class template has an effect at ____________________ time.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
48
The ____________________ operator causes a member-wise copy of the member variables of the class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
49
Classes with pointer member variables must include the ____________________ constructor.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck
50
The ____________________ members of a class are local to the class and,therefore,cannot be accessed outside of the class.
Unlock Deck
Unlock for access to all 50 flashcards in this deck.
Unlock Deck
k this deck