Добавил:
Помощь с лабораторными, контрольными практическими и курсовыми работами по: - Инженерной и компьютерной графике - Прикладной механике Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем 1 курс С++ / Экзамен / Lektsii_Kurakina_2_semestr.pdf
Скачиваний:
12
Добавлен:
08.08.2022
Размер:
4.82 Mб
Скачать

s.put_i (10);

cout<<s.get_i ();

}

2.8. Подставляемые функции-члены.

inline–функции могут быть обычными функциями, могут быть членами класса.

Функция-член класса, описанная внутри шаблона класса, является подставляемой (встраиваемой) функцией.

При использовании подставляемых функций возрастает скорость выполнения программ, но увеличивает программный код и время на компиляцию.

Пример.

#include <iostream>

using namespace std;

class cl

{

int i; public:

int get_i (void) {return i;}

void put_i (int j) {i=j;}

};

int main ()

{

cl s;

s.put_i (10); cout<<s.get_i ();

}

Ситуации, препятствующие inline кода:

наличие оператора switch, goto, операторов цикла, в случае, если функция возвращает более одного значения.

inline–функции не могут быть рекурсивными (вызывать сами себя) и содержать статические переменные.

2.9. Указатель this

В функции-члене класса ключевое слово this обозначает указатель на объект, для которого вызвана данная функция, т.е. внутри функции-члена класса член того же класса с именем х можно обозначать как x, и как this -> x. Указатель на объект, для которого вызвана функция, является неявным параметром этой функции.

Функции–члены класса имеют доступ к private–данным. Обращаться к ним можно по имени, а можно по ссылке.

Пример:

# include <iostream>

using namespace std;

class cl {

int i;

public:

void load_i (int val)

{this -> i=val; }

int get_i(void)

{return this -> i;}};

main (void)

{cl c;

c.load_i(100);

cout <<c.get_i();

}

То есть указатель на объект, для которого вызвана функция–член, является скрытым параметром функции.

2.10. Использование указателя this

В большинстве случаев использование this является неявным. В частности, каждое обращение к нестатическому члену класса неявно использует this для доступа к члену соответствующего объекта.

Указатель this в функции-члене класса cl имеет тип cl * const. Однако, это не обычная переменная, невозможно получить её адрес или присвоить ей что-нибудь. Главным образом this используется при написании функций–членов, которые манипулируют непосредственно указателями.

Функции-члены класса могут также возвращать с помощью указателя this ссылку на объект класса для того, чтобы можно было использовать вызов функции как параметр другой функции.

Пример:

class cl

{...

public: cl& f();

};

cl& cl::f()

{ ...

return *this; }

Соседние файлы в папке Экзамен