0

我拥有的这一类只有protected可变属性,如int healthand int level,但没有方法。这是不好的做法吗?我将它用于保存游戏功能,它只需要使用变量,但不需要任何方法。文件如下所示:

人类.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];
    };
}

人类.cpp

// Human.cpp - Johnny P

#include <string>
#include "Human.h"
4

2 回答 2

2

好吧,“不良做法”是一个有点累赘的术语。

让我们更确切地说,一个常见的模式是“哑数据”,其中类/结构只是用来包含数据。这与“普通旧数据”(POD) 不太一样,后者是一个与 C 兼容的结构。

话虽如此,使用“受保护”并不是典型的哑数据模式。在使用“受保护”时,您暗示您将从它派生,这意味着至少是一个虚拟析构函数。

于 2012-11-07T04:18:14.967 回答
0

仅标头类型很好,放弃没有实现的“实现文件”。

无用的文件是不好的做法。

于 2012-11-07T04:16:29.003 回答