C++ Программирование в среде С++ Builder 5

         

Элементы-функции


Функция-элемент класса объявляется внутри определения класса. Там же может быть расположено и оределение тела функции. В этом случае функцию-элемент называют встроенной и компилятор будет генерировать ее встроенное расширение на месте вызова. Если определение функции располагается вне тела класса, то к ее имени добавляется префикс, состоящий из имени класса и операции разрешения области действия. В этом случае функцию-элемент также можно определить как встроенную с помощью ключевого слова inline. Вот несколько модифицированный класс Point из предыдущей главы вместе с его реализацией:

#include <assert.h>

const int MaxX = 200; // Максимальные значения координат.

const int MaxY = 200;

//

struct Point { // Класс.точек.

private:

int fx;

int fy;

public:

int GetX(void) ( return fx; }

int GetY(void) { return fy; }

void SetPoint(int, int);

};

void Point::SetPoint(int x, int y)

{

assert(x >=0 && x < MaxX);

assert(y >= 0 && у < MaxY);

fx = x;

fy = y;

}

Здесь обе функции Get () определены как встроенные, а функция SetPoint () определяется вне тела класса и не является встроенной.



Содержание раздела