Standart amallarni qayta yuklash (dasturlash)


(+) operatorini qayta yuklash



Download 98 Kb.
bet3/3
Sana23.01.2022
Hajmi98 Kb.
#405487
1   2   3
(+) operatorini qayta yuklash

Bu yerda loc (location) degan sinf yaratilyapti va bu sinfning ikkita longitude va latitude degan maydoni mavjud, show() metodi natijani qaytaradi.

#include

using namespace std;

class loc {

int longitude, latitude;

public:

loc() {}


loc(int lg, int lt) {

longitude = lg;

latitude = lt;

}

void show() {



cout << longitude << " ";

cout << latitude << "\n";

}

loc operator+(loc op2);



};

// + operatorining qayta yuklanishi.

loc loc::operator+(loc op2)

{

loc temp;



temp.longitude = op2.longitude + longitude;

temp.latitude = op2.latitude + latitude;

return temp;

}

int main()



{

loc ob1(10, 20), ob2( 5, 30);

ob1.show(); // natija 10 20

ob2.show(); // natija 5 30

ob1 = ob1 + ob2;

ob1.show(); // natija 15 50

return 0;

}
Demak bu yerda



  • ob3 = ob1 + ob2 + ob3 + ob4; // mumkin!

  • (ob1+ob2).show(x, y); // mumkin!

  • ob2 = ob1 + 50; // mumkin emas!


(-) operatorini qayta yuklash

#include

using namespace std;

class Distance

{

private:


int feet; // 0 to infinite

int inches; // 0 to 12

public:

// required constructors

Distance(){

feet = 0;

inches = 0;

}

Distance(int f, int i){



feet = f;

inches = i;

}

void displayDistance()



{

cout << "F: " << feet << " I:" << inches <

}

Distance operator- ()



{

feet = -feet;

inches = -inches;

return Distance(feet, inches);

}

};

int main()



{

Distance D1(11, 10), D2(-5, 11);

-D1; // apply negation

D1.displayDistance(); // display D1

-D2; // apply negation

D2.displayDistance(); // display D2

return 0;

}



Musosabat operatori (oldingi dasturga o’zgartirish kiritamiz)

// overloaded < operator

bool operator < (const Distance& d)

{

if(feet < d.feet)



{

return true;

}

if(feet == d.feet && inches < d.inches)



{

return true;

}

return false;



}

main() funksiyasiga ham qo’shimcha kiritiladi

int main()

{

Distance D1(11, 10), D2(5, 11);



if( D1 < D2 )

{

cout << "D1 is less than D2 " << endl;



}

else


{

cout << "D2 is less than D1 " << endl;

}

return 0;



}

++ va – unar operatorlarini qayta yuklash

class Time

{

private:



int hours; // 0 to 23

int minutes; // 0 to 59

public:

// required constructors

Time(){


hours = 0;

minutes = 0;

}

Time(int h, int m){



hours = h;

minutes = m;

}

// method to display time

void displayTime()

{

cout << "H: " << hours << " M:" << minutes <

}

// overloaded prefix ++ operator

Time operator++ ()

{

++minutes; // increment this object



if(minutes >= 60)

{

++hours;



minutes -= 60;

}

return Time(hours, minutes);



}

// overloaded postfix ++ operator

Time operator++( int )

{

// save the orignal value

Time T(hours, minutes);



// increment this object

++minutes;

if(minutes >= 60)

{

++hours;



minutes -= 60;

}

// return old original value

return T;

}

int main()



{

Time T1(11, 59), T2(10,40);

++T1; // increment T1

T1.displayTime(); // display T1

++T1; // increment T1 again

T1.displayTime(); // display T1

T2++; // increment T2

T2.displayTime(); // display T2

T2++; // increment T2 again

T2.displayTime(); // display T2

return 0;

}


Tenglik amalini qayta yuklash

class Distance

{

private:


int feet; int inches;

public:


// required constructors

Distance(){

feet = 0; inches = 0;

}

Distance(int f, int i){



feet = f; inches = i;

}

void operator=(const Distance &D )



{

feet = D.feet;

inches = D.inches;

}

// method to display distance

void displayDistance()

{

cout << "F: " << feet << " I:" << inches << endl;



}

};

int main()



{

Distance D1(11, 10), D2(5, 11);

cout << "First Distance : ";

D1.displayDistance();

cout << "Second Distance :";

D2.displayDistance();

// use assignment operator

D1 = D2;


cout << "First Distance :";

D1.displayDistance();

return 0;

}



Mantiqiy operatorlarni yuklash

class coord {

int x, y;

public:


coord() { x = 0; y= 0; }

coord(int i, int j)

{ x = i; y = j; }

void get_xy(int &i, int &j)

{ i = x; j = y; }

int operator==(coord ob2);

int operator&&(coord ob2);

};

int coord::operator==(coord ob2)



{

return x==ob2.x && y==ob2.y;

}

int coord::operator&&(coord ob2)



{

return (x && ob2.x) && (y && ob2.y);

}

if(o1==o2)



{ cout << “o1 o2 ga teng”}

if(o1&&o2)

{cout << "o1 && o2 true";}

() operatorini yuklash. Misol-6

#include

using namespace std;

class Distance

{

private:



int feet; // 0 to infinite

int inches; // 0 to 12

public:

// required constructors

Distance(){

feet = 0;

inches = 0;

}

Distance(int f, int i){



feet = f;

inches = i;

}
// overload function call

Distance operator()(int a, int b, int c)

{

Distance D;



// just put random calculation

D.feet = a + c + 10;

D.inches = b + c + 100 ;

return D;

}

// method to display distance

void displayDistance()

{

cout << "F: " << feet << " I:" << inches << endl;



}

};

int main()



{

Distance D1(11, 10), D2;

cout << "First Distance : ";

D1.displayDistance();

D2 = D1(10, 10, 10); // invoke operator()

cout << "Second Distance :";

D2.displayDistance();

return 0;



}


Download 98 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish