2012-11-07 19 views
0

這一個類我只有protected可變屬性,如int healthint level,但沒有方法。這是不好的做法嗎?我使用這個保存遊戲功能,它只需要使用變量,但不需要任何方法。該文件是這樣的:做一個在C++中只有可變屬性的類是不好的做法嗎?

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" 
+0

爲什麼不使用一個結構呢? –

+2

@MaxE。爲什麼不使用它的類? – 2012-11-07 04:11:20

+2

首字母縮略詞是POD =普通的舊數據,並且通常使用「struct」而不是「class」。 – dmckee

回答

2

那麼,「不好的做法」是一個有點充滿期限的術語。

讓我們來說一個常見模式是「啞數據」,其中類/結構就在那裏包含數據。這與「普通舊數據」(POD)不同,它是一個C兼容的結構。

話雖如此,使用「保護」是不典型的愚蠢數據模式。在使用「受保護的」時,你意味着你將從它派生出來,這至少意味着一個虛擬的析構函數。

+0

+1用於評論使用'protected'的意圖。 – Aesthete

+0

我只是想把它當作一個班級。這樣做更有意義。謝謝! – Tux

0

頁眉只類型是罰款,溝不具有執行 「實現文件」。

無用文件是不好的做法。

相關問題