Этот один класс у меня есть только protected
переменные атрибуты, такие как int health
а также int level
, но нет методов. Это плохая практика? Я использую это для функции сохранения игры, и для этого нужны только переменные, но не требуется никаких методов. Файлы выглядят так:
Human.h:
// Human.h - Johnny P
#pragma once
namespace SharpEngine {
class Human {
protected:
std::string name;
int level;
int health;
int defense;
int strength;
int experience;
int money;
int inventory[10];
};
}
Human.cpp
// Human.cpp - Johnny P
#include <string>
#include "Human.h"
Ну, «плохая практика» — это несколько нагруженный термин.
Скорее, скажем, что общий шаблон — «тупые данные», где класс / структура просто для хранения данных. Это не совсем то же самое, что «Plain Old Data» (POD), который является C-совместимой структурой.
Сказав это, использование «защищенного» не типично для шаблона «тупых данных». Используя «защищенный», вы подразумеваете, что вы будете извлечены из него, что подразумевает, по крайней мере, виртуальный деструктор.
Типы только для заголовков хороши, угробите «файл реализации», который не имеет реализации.
Бесполезные файлы — плохая практика.