Я знаю о трех разных вариантах реализации "местоположения" для моих методов класса:
1) Определите метод внутри моего класса (файл .h) и реализуйте его в моем файле .cpp
//.h
class Foo
{
int getVal() const;
};
//.cpp
int Foo::getVal() const
{ return 0; }
2) Определите и реализуйте метод внутри моего класса (файл .h).
//.h
class Foo
{
int getVal() const
{ return 0; }
};
3) Определите метод внутри моего класса и реализуйте его вне класса, но внутри моего файла заголовка.
//.h
class Foo
{
int getVal() const;
};
int Foo::getVal() const
{ return 0; }
Каковы основные различия между этими тремя подходами?