212
объектісі болып табылады.
Одан ары, осының
алдындағы жағдайдағы сияқты,
осы объект үшін дөңгелек жақша ішінде жазылған
екі аргументі бар функция
шақырылады.
Келесі
()
операциясын тек класс əдісі ретінде анықтауға болады.
Аргументтерінің саны əртүрлі функцияларды шақырудың асыра жүктелген
операцияларын анықтау мүмкіндігі бар. Функционалды объектілер C++ стан-
дартты кітапханасында кеңінен қолданылады.
Индекстеу операциясының асыра жүктелуі
Əдетте, класс типі индекстеудің мағынысы болатын мəндер
жиынын
көрсететін
кезде индекстеу операциясы
[]
асыра жүктеледі.
Индекстеу опе-
рациясы жиынға тиісті элементке сілтеме қайтаруы керек. Мұны бүтін сан-
дар жиымын сақтауға жəне онымен сенімді
жұмыс істеуге арналған
Vect
класынының мысалы арқылы көрсетейік:
#include
#include
class Vect{
public:
explicit Vect(int n = 10);
Vect(const int a[], int n); //Жиыммен инициалдау
~Vect() { delete [] p; }
int& operator [] (int i);
void Print();
...
private:
int* p;
int size;
};
Vect::Vect(int n) : size(n){
p = new int[size];
}
Vect::Vect(const int a[], int n) : size(n){
p = new int[size];
for (int i = 0; i < size; i++) p[i] = a[i];
}
// Индекстеу операциясының асыра жүктелуі:
int& Vect::operator [] (int i){
if(i < 0 || i >= size){
Достарыңызбен бөлісу: