課程
/后端開發
/C++
/C++遠征之封裝篇(上)
class和struct有什么區別嗎?
2019-08-07
源自:C++遠征之封裝篇(上) 2-2
正在回答
http://c.biancheng.net/view/2235.html
C++?中保留了C語言的 struct 關鍵字,并且加以擴充。在C語言中,struct 只能包含成員變量,不能包含成員函數。而在C++中,struct 類似于 class,既可以包含成員變量,又可以包含成員函數。C++中的 struct 和 class 基本是通用的,唯有幾個細節不同:
使用 class 時,類中的成員默認都是 private 屬性的;而使用 struct 時,結構體中的成員默認都是 public 屬性的。
class 繼承默認是 private 繼承,而 struct 繼承默認是 public 繼承(《C++繼承與派生》一章會講解繼承)。
class 可以使用模板,而 struct 不能(《模板、字符串和異常》一章會講解模板)。
C++ 沒有拋棄C語言中的 struct 關鍵字,其意義就在于給C語言程序開發人員有一個歸屬感,并且能讓C++編譯器兼容以前用C語言開發出來的項目。
struct和數組很類似,但是數組只能存放相同類型的數據 比如int a[12];
而struct可以存放不同類型的數據,比如struct person{
int age;
double height;
char name[23];
}
class是類,類內可以放函數,struct本身就是函數,只能定義變量不能放函數
舉報
封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-01-25
http://c.biancheng.net/view/2235.html
C++?中保留了C語言的 struct 關鍵字,并且加以擴充。在C語言中,struct 只能包含成員變量,不能包含成員函數。而在C++中,struct 類似于 class,既可以包含成員變量,又可以包含成員函數。
C++中的 struct 和 class 基本是通用的,唯有幾個細節不同:
使用 class 時,類中的成員默認都是 private 屬性的;而使用 struct 時,結構體中的成員默認都是 public 屬性的。
class 繼承默認是 private 繼承,而 struct 繼承默認是 public 繼承(《C++繼承與派生》一章會講解繼承)。
class 可以使用模板,而 struct 不能(《模板、字符串和異常》一章會講解模板)。
C++ 沒有拋棄C語言中的 struct 關鍵字,其意義就在于給C語言程序開發人員有一個歸屬感,并且能讓C++編譯器兼容以前用C語言開發出來的項目。
2019-08-14
struct和數組很類似,但是數組只能存放相同類型的數據 比如int a[12];
而struct可以存放不同類型的數據,比如struct person{
int age;
double height;
char name[23];
}
2019-08-08
class是類,類內可以放函數,struct本身就是函數,只能定義變量不能放函數