+Position Position::operator- (const Position& rhs) const
+{
+ Position temp;
+
+ int major = major_ - rhs.major_;
+ int minor = minor_ - rhs.minor_;
+
+ /* Check for underflow */
+ if (minor < 0)
+ {
+ minor += 10;
+ major -= 1;
+ }
+
+ temp.major_ = major;
+ temp.minor_ = minor;
+
+ return temp;
+}
+
+Position::operator float() const
+{
+ float temp;
+
+ temp = major_;
+ temp += minor_ / 10.0;
+
+ return temp;
+}
+
+Position::operator int() const
+{
+ return major_;
+}
+
+std::ostream& operator<< (std::ostream& os, const Position& rhs)
+{
+ os << "Position(" << rhs.major_ << "." << rhs.minor_ << ")";
+ return os;
+}