Методы вне класса
Как можно было увидеть в теме «модификаторы доступа» код может становиться весьма большим, и плохо читаемым, и это притом, что там простейший код и минимум функций, чтоже делать, когда функции будут по несколько десятков/сотен строчек кода? Ведь тогда класс разрастется и анализировать его будет сложно.
Для этого существует возможность определения метода вне класса – т.е. объявление метда в классе, а написание его реализации в другом месте.
Синтаксис выглядит следующим образом:
class Person
{
public:
//Методы класса
void setInfo(string Name,unsigned int height); //функция "сеттер"
//поля класса
unsigned int age;
string Name;
unsigned int height;
};
void Person::setInfo(string Name,unsigned int height)
{
this->Name=Name;
this->height=height;
}
Примечание: Класс и метод должны лежать ВНЕ функции main/
Для создания прототипа класса можно написать class Person вверху программы.