Индекстеу операциясының асыра жүктелуі
Əдетте, класс типі индекстеудің мағынысы болатын мəндер жиынын
көрсететін кезде индекстеу операциясы
[]
асыра жүктеледі. Индекстеу опе-
рациясы жиынға тиісті элементке сілтеме қайтаруы керек. Мұны бүтін сан-
дар жиымын сақтауға жəне онымен сенімді жұмыс істеуге арналған
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){
Достарыңызбен бөлісу: |