Upload
joelle-wall
View
17
Download
0
Embed Size (px)
DESCRIPTION
Static Members. There can be only one. a static member variable in a class represents all objects of that class, doing so with one and only one value. // fraction.h class Fraction { public: Fraction(const int n=0, const int d=1) : m_Num (n) { setDen (d); } - PowerPoint PPT Presentation
Citation preview
http://cs.mst.edu
Static Members
http://cs.mst.edu
There can be only one a static member variable in a class represents all
objects of that class, doing so with one and only one value
http://cs.mst.edu
// fraction.hclass Fraction{ public: Fraction(const int n=0, const int d=1) : m_Num(n) { setDen(d); } void readin(); ... static double zero_tolerance; private: int m_Numerator; int m_Denominator;};
double Fraction::zero_tolerance = .0001;
http://cs.mst.edu
// fraction.hclass Fraction{ public: Fraction(const int n=0, const int d=1) : m_Num(n) { setDen(d); } void readin(); ... static double zero_tolerance; private: int m_Numerator; int m_Denominator;};
double Fraction::zero_tolerance = .0001;
// main.cpp...Fraction f(3,10000);if (static_cast<double>(f.getNumer())/f.getDenom() <= Fraction::zero_tolerance) f.setNumer(0);
http://cs.mst.edu
// fraction.hclass Fraction{ public: static double zero_tolerance; ... private: void zeroize_if_close(); ...};
double Fraction::zero_tolerance = .0001;
// fraction.cppvoid Fraction::zeroize_if_close(){ if(static_cast<double>(m_Numerator)/m_Denominator <= zero_tolerance) m_Numerator = 0; return;}
http://cs.mst.edu
// fraction.cppvoid Fraction::zeroize_if_close(){ if(static_cast<double>(m_Numerator)/m_Denominator <= zero_tolerance) m_Numerator = 0; return;}
void Fraction::readin(){ cout<<“enter numerator: ”; cin>>m_Numerator; cout<<“enter denominator: ”; cin>>m_Denominator;
zeroize_if_close(); return;}
http://cs.mst.edu
Static Functions// fraction.hclass Fraction{ public: static void reset_zero_tolerance(const double tol){zero_tolerance = tol;} ...};
double Fraction::zero_tolerance = .0001;
// main.cpp...Fraction::reset_zero_tolerance(.000001);
http://cs.mst.edu
End of Session