Class Keypad (Figs. G.5G.6) represents the keypad of the ATM and is responsible for receiving all user input. Recall that we are simulating this hardware, so we use the computer's keyboard to approximate the keypad. A computer keyboard contains many keys not found on the ATM's keypad. However, we assume that the user presses only the keys on the computer keyboard that also appear on the keypadthe keys numbered 09 and the Enter key. Line 9 of Fig. G.5 contains the function prototype for class Keypad's one member function getInput. This member function is declared const because it does not change the object.
Figure G.5. Keypad class definition.
1 // Keypad.h 2 // Keypad class definition. Represents the keypad of the ATM. 3 #ifndef KEYPAD_H 4 #define KEYPAD_H 5 6 class Keypad 7 { 8 public: 9 int getInput() const; // return an integer value entered by user 10 }; // end class Keypad 11 12 #endif // KEYPAD_H |
Figure G.6. Keypad class member-function definition.
(This item is displayed on page 1295 in the print version)
1 // Keypad.cpp 2 // Member-function definition for class Keypad (the ATM's keypad). 3 #include 4 using std::cin; 5 6 #include "Keypad.h" // Keypad class definition 7 8 // return an integer value entered by user 9 int Keypad::getInput() const 10 { 11 int input; // variable to store the input 12 cin >> input; // we assume that user enters an integer 13 return input; // return the value entered by user 14 } // end function getInput |
Keypad Class Member-Function Definition
In the Keypad implementation file (Fig. G.6), member function getInput (defined in lines 914) uses the standard input stream cin and the stream extraction operator (>>) to obtain input from the user. Line 11 declares a local variable to store the user's input. Line 12 reads input into local variable input, then line 13 returns this value. Recall that getInput obtains all the input used by the ATM. Keypad's getInput member function simply returns the integer input by the user. If a client of class Keypad requires input that satisfies some particular criteria (i.e., a number corresponding to a valid menu option), the client must perform the appropriate error checking. [Note: Using the standard input stream cin and the stream extraction operator (>>) allows noninteger input to be read from the user. Because the real ATM's keypad permits only integer input, however, we assume that the user enters an integer and do not attempt to fix problems caused by noninteger input.]
Introduction to Computers, the Internet and World Wide Web
Introduction to C++ Programming
Introduction to Classes and Objects
Control Statements: Part 1
Control Statements: Part 2
Functions and an Introduction to Recursion
Arrays and Vectors
Pointers and Pointer-Based Strings
Classes: A Deeper Look, Part 1
Classes: A Deeper Look, Part 2
Operator Overloading; String and Array Objects
Object-Oriented Programming: Inheritance
Object-Oriented Programming: Polymorphism
Templates
Stream Input/Output
Exception Handling
File Processing
Class string and String Stream Processing
Web Programming
Searching and Sorting
Data Structures
Bits, Characters, C-Strings and structs
Standard Template Library (STL)
Other Topics
Appendix A. Operator Precedence and Associativity Chart
Appendix B. ASCII Character Set
Appendix C. Fundamental Types
Appendix D. Number Systems
Appendix E. C Legacy Code Topics
Appendix F. Preprocessor
Appendix G. ATM Case Study Code
Appendix H. UML 2: Additional Diagram Types
Appendix I. C++ Internet and Web Resources
Appendix J. Introduction to XHTML
Appendix K. XHTML Special Characters
Appendix L. Using the Visual Studio .NET Debugger
Appendix M. Using the GNU C++ Debugger
Bibliography