Объектга йўналтирилган программалаш


N1++(100); ифодасини операторгача бўлган қисмини алоҳида ажратиб N1++


Download 0.58 Mb.
bet45/71
Sana08.05.2023
Hajmi0.58 Mb.
#1444224
TuriПрограмма
1   ...   41   42   43   44   45   46   47   48   ...   71
Bog'liq
С ОЙП

N1++(100);
ифодасини операторгача бўлган қисмини алоҳида ажратиб
N1++;
кўрсатма деб тушунади.


Индекслаш операторини қайта юклаш
Квадрат қавслар (‘[‘,’]’) билан ёзиладиган индекслаш оператори бинар оператор ҳисобланади ва у қайта юкланишида оператор функция синфнинг битта аргументли ностатик функция–аъзоси сифатида аниқланиши керак. Функция аргументи ихтиёрий турда бўлиши ва у синф объектлари массивининг индекси деб қабул қилинади. Қуйидаги мисол буни намоён қилади:
#include
class BS_Massiv
{
int MaxIndex;
int * kButun;
public:
BS_Massiv(int Elem_Soni)
~BS_Massiv(){delete kButun;}
int & operator[](int index);
};
BS_Massiv::BS_Massiv(int Elem_Soni)
{
kInt=new int(Elem_Soni);
MaxIndex=Elem_Soni;
}
int & BS_Massiv::operator[](int index)
{
static int iXato=-1;
if(index>=0 && index
else
{
cout<<”Xato: Massiv chegarasidan chiqish ro’y berdi!”;
cout<
return iXato;
}
}
main()
{
BS_Massiv vector(5);
for(int i=0; i<5; i++)
vector[i]=i;
for(int i=0; i<=5; i++)
cout<<” vector[“<
return 0;
}
Программада 5 та, бутун сон туридаги элементлардан ташкил топган vector массиви BS_Massiv синфининг объекти сифатида эълон қилинган ва унга қийматлар берилиб, кейин чоп қилинган. Индекс аргументи i=5 бўлганда хатолик ҳақида хабар берилади. Программа ишлаши натижасида экранга қуйидагилар чиқади:
vector[0]=0
vector[1]=1
vector[2]=2
vector[3]=3

Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   ...   71




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