Программирование на C и C++

Онлайн справочник программиста на C и C++

Создание inline-функций внутри класса

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

#include <iostream.h>
class cl {
int i;
public:
// автоматически является inline-функцией
int get_i() { return i; }
void put_i(int j) { i = j; }
};
int main()
{
cl s;
s.put_i(10);
cout << s.get_i();
return 0;
}

Обратим внимание, каким образом организован код. Для очень коротких функций такая орга­низация кода отражает общий стиль языка С++. Однако также можно переписать код следую­щим образом:

class cl {
int i;
public:
// автоматически является inline-функцией
int get_i ()
{
return i;
}
void put_i(int j)
{
i = j;
}
};

В профессионально написанном С++-коде короткие функции, наподобие проиллюстрирован­ных в данном примере, обычно определяются внутри объявления класса.