2013-04-27 72 views

回答

3

這完全是個人喜好或編碼習慣的問題。 structclass在C++中基本相同,區別在於默認訪問說明符和基類爲public,其中structprivateclass

例如,下面的Bar兩個定義是等價的:

class Foo {}; 
struct Bar : Foo {}; 
class Bar : public Foo {}; 

這裏太:

class Foo {}; 
struct Bar : private Foo {}; 
class Bar : Foo {}; 

,並在這裏太:

class Bar 
{ 
    int n;  // private 
public: 
    double x; // public 
}; 

struct Bar 
{ 
private: 
    int n; 
public: 
    double x; 
}; 

此外,您還可以轉發聲明Bar as class Bar or struct Bar i nterchangeably。

0

它可能更適合當它是普通的舊數據沒有任何功能。在C++中,classstruct之間的唯一區別是struct成員默認爲public,而privateclass

1

除了默認訪問(struct => public,class => private),沒有什麼區別。爲了便於閱讀,當我定義一個普通的C結構(只是數據)時,或者當我的大多數成員/方法是公共的時,我更喜歡使用struct。

1

我想到struct作爲記錄。它們將變量捆綁在一起,並且您希望訪問和修改結構成員而不進行間接訪問,如函數調用。例如,當您想要將數據項組合在一起以將其轉儲到文件中或通過網絡發送時,則使用類可能會使代碼更難以閱讀和理解。