/********************************************************************************************
example 4 -- roman.h
    class roman
********************************************************************************************/
#include <iostream>
#include <string>
using namespace std;

class roman {
    private:
        int number;

    public:
        //constructors
        roman(const int& i = 1) {
            number = i;
        }

        //manipulator
        void set(const int& i = 1) {
            number = i;
        }

        //display tool
        string asString() const;
        friend ostream& operator<<(ostream&, const roman&);

        //increment operators
        roman operator++() { //pre-fix increment
            number++;
            return *this;
        }
        roman operator++(int) { //post-fix increment
            roman temp(*this);
            number++;
            return temp;
        }
};