213
for (int i = 0; i < size; i++)
cout << p[i] << " ";
cout << endl;
}
int main(){
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Vect a(arr, 10);
a.Print();
cout << a[5] << endl;
cout << a[12] << endl;
return 0;
}
Программа жұмысының нəтижесі:
1 2 3 4 5 6 7 8 9 10
6
Қате индекс: (i = 12)
Программаны аяқтау
Асыра жүктелген индекстеу операциясы бүтін аргументті қабылдайды да,
оның мəні жиым диапазонының аралығында жататынын
немесе жатпайтынын
тексереді. Егер
сол диапазонда жататын болса,
онда стандартты индекстеу
операция семантикасына сəйкес элемент адресі қайтарылады.
Берілген мысалда келісім бойынша параметрді
қабылдаған конструк-
тор тікелей емес түрде шақырылатын типті түрлендіру конструкторы (200 б.
қараңыз) болмауы үшін
explicit
ретінде жарияланған.
Мұндағы
explicit
түйінді сөзі бұл конструктордың тек тікелей айқын түрде шақырылатындығын
көрсетеді.
[]
операциясын тек кластың əдісі ретінде анықтауға болады.
Класс элементтеріне нұсқауыштар
Класс элементтерін нұсқауыштар көмегімен де пайдалануға болады. Мұны
жүзеге асыру үшін
.*
жəне
->*
операциялары анықталған.
Кластың өрістері
мен əдістеріне арналған нұсқауыштар əртүрлі болып анықталады.
Класс əдісіне нұсқауыштың форматы:
қайт_тип(класс_атауы::*нұсқауыш_атауы)(параметрлер);
Мысалы,
monstr
класының
Достарыңызбен бөлісу: