#include
class Fraction
{ private: int m_numerator;
int m_denominator; public: // Jimlik bo’yicha konstruktor
Fraction(int numerator=0, int denominator=1)
{ assert(denominator != 0);
m_numerator = numerator;
m_denominator = denominator;
}
int getNumerator()
{ return m_numerator; }
int getDenominator() { return m_denominator; }
double getValue() { return static_cast
(m_numerator) / m_denominator; } };
64. C++da obyektlarni uniforminitsializatsiyalash Konstruktorlar sonini kamaytirish Fraksiya klassi va ikkita konstruktorli (standart va parametrli) misolda standart konstruktor aslida ortiqcha. Biz bu sinfni shunday soddalashtira olamiz:
#include
class Fraction {
private:
int m_numerator;
int m_denominator;
public: // Jimlik bo’yicha konstruktor
Fracton(int numerator=0, int denominator=1)
{ assert(denominator != 0);
m_numerator = numerator;
m_denominator = denominator; }
int getNumerator()
{ return m_numerator; }
int getDenominator()
{return m_denominator;}
double getValue()
{ return static_cast
(m_numerator) / m_denominator; } };
Garchi bu konstruktor hali ham standart konstruktor bo'lsa-da, u shunday aniqlanganki, u bir yoki ikkita foydalanuvchi tomonidan berilgan qiymatlarni olishi mumkin:
Fraction drob; // Fraction(0, 1) chaqirish Fraction seven(7); // Fraction(7, 1) ni chaqirish Fraction sixTwo(6, 2); // Fraction(6, 2) chaqirish
65. Sinfdagi massivlarni initsializatsiyalash Sinfdagi massivlarni initsializatsiyalash
Bir massivli sinfni a'zo o'zgaruvchi sifatida ko'rib chiqaylik:
Do'stlaringiz bilan baham: |