C++中class與struct的區別(struct的類型名同時可以作爲變量名)

原文地址:http://www.cnblogs.com/albert1017/p/3897739.html

通常我們知道的區別:


(一)默認繼承權限。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理;


(二)成員的默認訪問權限。class的成員默認是private權限,struct默認是public權限。


  除了這兩點,class和struct基本就是一個東西。語法上沒有任何其它區別。


 


昨天發現一個不知道算不算是區別的東西:


struct的類型名同時可以作爲變量名,顯然class是不可以的,也可以理解,因爲class各類型變量定義時直接是類名,而struct的是struct+結構體名來定義變量的。


示例如下:


複製代碼
#include<iostream>

using namespace std;


struct tt{
int a;
int b;
};


int main(){
    struct tt tt;
    tt.a=13;
    tt.b=43;
    cout<<tt.b<<endl;
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章