Учимся программировать на языке C++



             

ОПРЕДЕЛЕНИЕ МЕТОДОВ КЛАССА ВНЕ КЛАССА


В предыдущем классе employee функция была определена внутри самого класса (встроенная (inline) функция). При увеличении функций определение встроенных функций внутри класса может внести беспорядок в описание класса. В качестве альтернативы вы можете поместить прототип функции внутри класса, а затем определить функцию вне класса. Ваше определение класса с прототипом становится следующим:

class employee

{

public:

   char name[64];

   long employee_id;

   float salary;

   void show_employee(void); |————————> Прототип функции

};

Так как разные классы могут использовать функции с одинаковыми именами, вы должны предварять имена определяемых вне класса функций именем класса и оператором глобального разрешения (::). В данном случае определение функции становится следующим:

void employee:: show_employee (void) //-------------->Имя класса

{

   сout << "Имя: " << name << endl; Имя элемента cout << "Номер служащего: " << employee_id << endl;

   cout << "Оклад: " << salary << endl;

};

Как видите, приведенный код предваряется определением функции с именем класса (employee) и оператором глобального разрешения (::). Следующая программа CLASSFUN.CPP помещает определение функции show_employee вне класса, используя оператор глобального разрешения для указания имени класса:

#include <iostream.h>

#include <string.h>

class employee

{

public:

   char name [64];

   long employee_id;

   float salary;

   void show_employee(void);

};

void employee::show_employee(void)

{

   cout << "Имя: " << name << endl;

   cout << "Номер служащего: " << employee_id << endl;

   cout << "Оклад: " << salary << endl;




Содержание  Назад  Вперед