Как говорил Михай, вы также можете определить его в файле заголовка (.h / .hpp), но это считается плохой практикой, если ваш метод класса каким-либо образом сложен.
class Raw {
public:
void foo() {
cout << "hi\n";
}
};
Только раз вы действительно должны это делать для очень простых классов и для методов, которые на самом деле являются не более чем геттерами.
Вы должны понимать разницу между определением и объявлением чего-либо в C ++.
Объявлениеэто просто сделать прототип, например, void doSomething(int);
является допустимым объявлением, так как он говорит, что метод doSomething принимает int и возвращает void.
Теперь вам нужно описать, что он делает.Это определение, когда вы делаете void doSomething(int val) { cout << val << endl; }
, как вы сейчас описываете, что делать с этой функцией.
Вы можете сделать определение в заголовочном файле, как я показал, или в исходном файле (.c/.cpp), как показал Михай (что является лучшей практикой).Вы можете делать свои объявления только в заголовочном файле.