1  #ifndef TELEPHONE_H
  2  #define TELEPHONE_H
  3  
  4  using namespace std;
  5  
  6  #include <iostream>
  7  #include <string>
  8  
  9  class Connection;
 10  
 11  /**
 12     A telephone that takes simulated keystrokes and voice input
 13     from the user and simulates spoken text.
 14  */
 15  class Telephone
 16  {
 17  public:
 18     /**
 19        Speak a message to standard output
 20        @param output the text that will be spoken
 21     */
 22     void speak(string output);
 23  
 24     /**
 25        Loops reading user input and passes the input
 26        to the Connection object's functions dial, record,
 27        or hangup. 
 28        @param c the connection that connects this phone
 29        to the voice mail system
 30     */
 31     void run(Connection& c);
 32  };
 33  
 34  inline void Telephone::speak(string output)
 35  {
 36     cout << output;
 37  }
 38  
 39  #endif