8
http://cs.mst.edu Static Members

Static Members

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

Page 1: Static Members

http://cs.mst.edu

Static Members

Page 2: 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

Page 3: Static Members

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;

Page 4: Static Members

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);

Page 5: Static Members

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;}

Page 6: Static Members

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;}

Page 7: Static Members

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);

Page 8: Static Members

http://cs.mst.edu

End of Session