}
Қуйида нусхалаш конструкторини қайта юклашга мисол келтириладиган. Программада тўртбурчак соҳа билан ишлаш учун синфлар ишлатилган.
#include
class TurtBurchak
{
public:
TurtBurchak();
TurtBurchak(int,int);
TurtBurchak(int,int,int,int);
TurtBurchak(const TurtBurchak &);
TurtBurchak(const TurtBurchak &,int,int);
private:
int x,y,w,h;
};
TurtBurchak::TurtBurchak(){x=y=w=h=0;}
TurtBurchak::TurtBurchak(int _x,int _y)
{
x=_x; y=_y; w=h=100;
}
TurtBurchak::TurtBurchak(int _x,int _y, int _w, int _h)
{
x=_x; y=_y; w=_w; h=_h;
}
TurtBurchak::TurtBurchak(const TurtBurchak & tb)
{
x= tb.x; y=tb.y; w=tb.w; h=tb.h;
}
TurtBurchak::TurtBurchak(const TurtBurchak & tb,
int _x,int _y)
{
x= _x; y=_y; w=tb.w; h=tb.h;
}
int main()
{
TurtBurchak tburchak1(5,10,10,100);
TurtBurchak tburchak2(tburchak1,15,200);
TurtBurchak tburchak3(50,50);
TurtBurchak tburchak4(tburchak3);
return 0;
}
Ушбу программада TurtBurchak синфи бир нечта конструкторга эга бўлиб, тўртбурчак соҳани яратишда у фойдаланувчи талабига мослашув-чанлик хусусиятига эга. Қайта юкланувчи конструктор вариант-лари ичида TurtBurchak(const TurtBurchak & tb) ва TurtBurchak(const TurtBurchak & tb, int _x, int _y) конструкторлари нусхалаш конструкторлари ҳисобланади. Бу имконият, қўйилган масала мазмунидан келиб чиққан ҳолда турли хил нусхалаш конструкторларини яратиш имконини беради.
13–боб. Операторларни қайта юклаш
Операторларни қайта юклаш тушунчаси
С++ тилида ўрнатилган операторларни қайта юклаш имконияти мавжуд. Операторлар глобал равишда ёки синф чегарасида қайта юкла–ниши мумкин. Қайта юкланган операторлар operator калит сўзи ёрдамида функция кўринишида амалга оширилади. Қайта юкланувчи функция оператор функция номланади ва номи operatorX кўринишида бўлиши керак, бу ерда X – қайта юкланувчи оператор. С++ тилида қайта юкла–ниши мумкин бўлган операторлар рўйхати 13.1-жадвалида келтирилган. Масалан, қўшиш операторини қайта юклаш учун operator+ номли функцияни аниқлаш керак бўлади. Агар қўшиш қиймат бериш амали билан келган ҳолини қайта юклаш учун operator+= кўринишида функция аниқлаш зарур бўлади. Одатда компилятор программа кодида қайта юкланган операторлар учраганда уларни ошкормас равишда қўллайди. Зарур бўлганда уларни ошкор чақириш мумкин:
Do'stlaringiz bilan baham: |