/* Handle.cpp -- Handle implementation */

#include "Handle.h"
#include <iostream>

using namespace std;



// Define Handle's implementation:
struct Handle::Cheshire {
  int i;
  float f;                   // This line inserted to show
};                           // benefit of the bridge pattern



void Handle::initialize() {
  smile = new Cheshire;
  smile->i = 0;
  smile->f = 1.1;                         // inserted line
}


void Handle::cleanup() {
  cout << "Deleting smile..." << endl;    // inserted line
  delete smile;
}


int Handle::read() {
  return smile->i;
}


void Handle::change(int x) {
  smile->i = x;
}
