#include "stdafx.h" #include <iostream> using namespace std; template <typename T> void DisplayValue(T value) { cout<<value<<endl; } struct Currency { int Dollar; int Cents; Currency& operator=(Currency& value) { Dollar = value.Dollar; Cents = value.Cents; return *this; } Currency& operator+(Currency& value) { Dollar += value.Dollar; Cents += value.Cents; return *this; } Currency &operator-(Currency& value) { Dollar = Dollar - value.Dollar; Cents = Cents - value.Cents; return *this; } Currency& operator*(Currency& value) { Dollar *= value.Dollar; Cents *= value.Cents; return *this; } friend ostream &operator<<(ostream &out,Currency value); }; ostream& operator<<(ostream &out,Currency value) { out<<"The dollar = "<<value.Dollar<<" and The Cents = "<<value.Cents<<endl; return out; } int _tmain(int argc, _TCHAR* argv[]) { Currency c1; c1.Dollar = 10; c1.Cents = 5; DisplayValue(c1); Currency c2,c3; c2 = c1; c3= c1+c2; DisplayValue(c3); system("pause"); return 0; }