Скорее самоочевидный. Мне просто интересно, что было более привычно делать в объектно-ориентированном C ++?
Пример А:
class CarObject{
private: //Local Variables
string name;
int cost;
public:
CarObject(string pName, int pCost){ //Constructor with parameters of car name and car cost
name = pName; //Sets the temporary variables to the private variables
cost = pCost;
}
void getDetails(){cout << name;
cout << cost;
}//Public method that returns details of Car Object
};
Пример Б:
class CarObject{
private: //Local Variables
string name;
int cost;
public:
CarObject(string pName, int pCost){ //Constructor with parameters of car name and car cost
name = pName; //Sets the temporary variables to the private variables
cost = pCost;
}
void getDetails(); //Public method that returns details of Car Object
};
void CarObject :: getDetails(){
cout << name;
cout << cost;
}
Определение вашего класса обычно будет в файле .h, а ваши методы и другие детали реализации — в файле .cpp. Это обеспечивает большую гибкость при управлении зависимостями, предотвращает излишнюю перекомпиляцию при изменении реализаций и является шаблоном, которого ожидает большинство компиляторов и IDE.
Основными исключениями являются: (1) inline
функции, которые должны быть короткими / простыми и которые компилятор может выбрать вместо фактического вызова функции, и (2) шаблоны, реализация которых зависит от параметров, переданных им.
Других решений пока нет …