Класс в заголовке в C++
До сих пор класс лежал в том же файле, где его вызывают. В программе класс держат в своем файле, и файл называют так же, как класс.
В .h оставляют поля и объявления методов
без тел. Реализацию методов переносят в .cpp
и перед именем метода пишут User::, чтобы связать
функцию с классом.
Заголовок user.h со стражем и классом User:
#ifndef USER_H
#define USER_H
#include <string>
class User {
public:
std::string name;
void show();
};
#endif
Метод show определим в user.cpp:
#include <iostream>
#include "user.h"
void User::show() {
std::cout << name << "\n";
}
В main.cpp создадим объект и вызовем метод:
#include "user.h"
int main() {
User user;
user.name = "kim";
user.show();
return 0;
}
Сделайте класс Book в book.h с полем
title и методом print. Тело print
запишите в book.cpp, вывод из main.cpp.
Добавьте в Book метод setTitle,
который записывает строку в поле title.
Объявление оставьте в заголовке, определение - в cpp.