Программирование на языке высокого уровня. Марапулец Ю.В. - 83 стр.

UptoLike

Составители: 

Например:
void X::draw(int x, int у, int scale, int position)
{
/* тело метода */
}
Альтернативным является случай, когда метод определяется внутри класса. В этом
случае метод имеет тип inline и его вызов заменяется компилятором на непосредствен-
ную подстановку тела метода. Например:
class X
{
public:
char *func (void)
{
return i;
}
char *i;
};
Метод func в этом случае по умолчанию имеет тип inline. Метод, описываемый вне
класса, также может быть определен как inline с помощью соответствующего ключевого
слова, например:
inline void X::func(void)
{
return i;
}
Данная запись эквивалентна предыдущему определению. Следует отметить, что
выполнение непосредственной подстановки текста функции может оказаться не всегда
возможным. Поэтому описание inline, в общем случае, необходимо рассматривать как
указание компилятору по возможности осуществить текстовую подстановку.
Доступ к элементам объекта аналогичен доступу к полям структуры. Для этого
используются операция
. (точка) при обращении к элементу через имя объекта и опера-
ция -> при обращении через указатель, например:
X x, mas[200], *ps;
x.name = "Петров";
mas[133].date = 119;
ps->din = 543;
Обратиться таким образом можно только к элементам со спецификатором publiс.
Получить или изменить значения элементов со спецификатором private или protected
можно только через обращение к соответствующим методам.
К элементам классов можно обращаться с помощью
указателей. Для этого опре-
делены операции
.* и ->*. Указатели на поля и методы класса определяются по-разному.
Формат указателя на метод класса:
возвр_тип (имя_класса::*имя_указателя)(параметры);
83
Например:

void X::draw(int x, int у, int scale, int position)
{
     /* тело метода */
}

     Альтернативным является случай, когда метод определяется внутри класса. В этом
случае метод имеет тип inline и его вызов заменяется компилятором на непосредствен-
ную подстановку тела метода. Например:

class X
{
      public:
        char *func (void)
        {
                return i;
        }
        char *i;
};

     Метод func в этом случае по умолчанию имеет тип inline. Метод, описываемый вне
класса, также может быть определен как inline с помощью соответствующего ключевого
слова, например:

inline void X::func(void)
{
      return i;
}

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

     Доступ к элементам объекта аналогичен доступу к полям структуры. Для этого
используются операция . (точка) при обращении к элементу через имя объекта и опера-
ция -> при обращении через указатель, например:

X x, mas[200], *ps;
…
x.name = "Петров";
mas[133].date = 119;
ps->din = 543;

     Обратиться таким образом можно только к элементам со спецификатором publiс.
Получить или изменить значения элементов со спецификатором private или protected
можно только через обращение к соответствующим методам.
     К элементам классов можно обращаться с помощью указателей. Для этого опре-
делены операции .* и ->*. Указатели на поля и методы класса определяются по-разному.
Формат указателя на метод класса:

возвр_тип (имя_класса::*имя_указателя)(параметры);

                                                 83