//
//
//
//
// Lab. Calcolo II - Esempio di codice
//
//
//
//
//
//
//
// Example code: A simple template example - defined and declared.
#include
#include
template class measurement {
public:
typedef TNUM value_type;
// Creator
measurement(const TNUM& value, const std::string date,
const std::string observer) :
m_value(value), m_date(date), m_observer(observer) {}
// Destructor
~measurement() {}
TNUM value() const { return m_value; } // Use as 'rvalue'
TNUM& value() { return m_value; } // Use as 'lvalue'
void value(const TNUM& new_value) { m_value = new_value; } // Value assignment
const std::string &get_date() const { return m_date; }
const std::string &get_observer() const { return m_observer; }
private:
TNUM m_value;
std::string m_date;
std::string m_observer;
};
template
std::ostream &operator<< (std::ostream &os, const measurement meas)
{
return os << meas.get_date() << " - " << meas.get_observer()
<< " - " << meas.value();
}
int main(int argc, char *argv[])
{
typedef measurement measurement_t;
measurement_t meas1(1.234567, "August 2nd, 2006", "Charles Brown");
std::cout << meas1 << std::endl;
}