Chapter 11: Problem 2
Explain the multiple meanings of the operators << and >> in C++.
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.
Chapter 11: Problem 2
Explain the multiple meanings of the operators << and >> in C++.
These are the key concepts you need to understand to accurately answer the question.
All the tools & learning materials you need for study success - in one app.
Get started for freeOverload the subscript operator to return the largest element of a collection, the second largest, the third largest, and so on.
Create a class RationalNumber (fractions) with the following capabilities: a. Create a constructor that prevents a 0 denominator in a fraction, reduces or simplifies fractions that are not in reduced form and avoids negative denominators. b. Overload the addition, subtraction, multiplication and division operators for this class. c. Overload the relational and equality operators for this class.
One nice example of overloading the function call operator () is to allow another form of double-array subscripting popular in some programming languages. Instead of saying chessBoard[ row ][ column ]for an array of objects, overload the function call operator to allow the alternate form chessBoard( row, column ) Create a class DoubleSubscriptedArray that has similar features to class Array in Figs. 11.611.7. At construction time, the class should be able to create an array of any number of rows and any number of columns. The class should supply operator() to perform double-subscripting operations. For example, in a 3-by-5 DoubleSubscriptedArray called a, the user could write a( 1, 3 ) to access the element at row 1 and column 3. Remember that operator() can receive any number of arguments (see class String in Figs. 11.911.10 for an example of operator()). The underlying representation of the double-subscripted array should be a single- subscripted array of integers with rows * columns number of elements. Function operator() should perform the proper pointer arithmetic to access each element of the array. There should be two versions of operator()one that returns int & (so that an element of a DoubleSubscriptedArray can be used as an lvalue) and one that returns const int & (so that an element of a const DoubleSubscriptedArray can be used only as an rvalue). The class should also provide the following operators: ==, !=, =, << (for outputting the array in row and column format) and >> (for inputting the entire array contents).
How does the precedence of an overloaded operator in C++ compare with the precedence of the original operator?
Give as many examples as you can of operator overloading implicit in C++. Give a reasonable example of a situation in which you might want to overload an operator explicitly in C++.
What do you think about this solution?
We value your feedback to improve our textbook solutions.