課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之封裝篇(上)
class和struct有什么區(qū)別嗎?
2019-08-07
源自:C++遠(yuǎn)征之封裝篇(上) 2-2
正在回答
http://c.biancheng.net/view/2235.html
C++?中保留了C語言的 struct 關(guān)鍵字,并且加以擴(kuò)充。在C語言中,struct 只能包含成員變量,不能包含成員函數(shù)。而在C++中,struct 類似于 class,既可以包含成員變量,又可以包含成員函數(shù)。C++中的 struct 和 class 基本是通用的,唯有幾個細(xì)節(jié)不同:
使用 class 時,類中的成員默認(rèn)都是 private 屬性的;而使用 struct 時,結(jié)構(gòu)體中的成員默認(rèn)都是 public 屬性的。
class 繼承默認(rèn)是 private 繼承,而 struct 繼承默認(rèn)是 public 繼承(《C++繼承與派生》一章會講解繼承)。
class 可以使用模板,而 struct 不能(《模板、字符串和異常》一章會講解模板)。
C++ 沒有拋棄C語言中的 struct 關(guān)鍵字,其意義就在于給C語言程序開發(fā)人員有一個歸屬感,并且能讓C++編譯器兼容以前用C語言開發(fā)出來的項(xiàng)目。
struct和數(shù)組很類似,但是數(shù)組只能存放相同類型的數(shù)據(jù) 比如int a[12];
而struct可以存放不同類型的數(shù)據(jù),比如struct person{
int age;
double height;
char name[23];
}
class是類,類內(nèi)可以放函數(shù),struct本身就是函數(shù),只能定義變量不能放函數(shù)
舉報
封裝--面向?qū)ο蟮幕窘坛塘η髱椭』锇閭兗磳W(xué)即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2020-01-25
http://c.biancheng.net/view/2235.html
C++?中保留了C語言的 struct 關(guān)鍵字,并且加以擴(kuò)充。在C語言中,struct 只能包含成員變量,不能包含成員函數(shù)。而在C++中,struct 類似于 class,既可以包含成員變量,又可以包含成員函數(shù)。
C++中的 struct 和 class 基本是通用的,唯有幾個細(xì)節(jié)不同:
使用 class 時,類中的成員默認(rèn)都是 private 屬性的;而使用 struct 時,結(jié)構(gòu)體中的成員默認(rèn)都是 public 屬性的。
class 繼承默認(rèn)是 private 繼承,而 struct 繼承默認(rèn)是 public 繼承(《C++繼承與派生》一章會講解繼承)。
class 可以使用模板,而 struct 不能(《模板、字符串和異常》一章會講解模板)。
C++ 沒有拋棄C語言中的 struct 關(guān)鍵字,其意義就在于給C語言程序開發(fā)人員有一個歸屬感,并且能讓C++編譯器兼容以前用C語言開發(fā)出來的項(xiàng)目。
2019-08-14
struct和數(shù)組很類似,但是數(shù)組只能存放相同類型的數(shù)據(jù) 比如int a[12];
而struct可以存放不同類型的數(shù)據(jù),比如struct person{
int age;
double height;
char name[23];
}
2019-08-08
class是類,類內(nèi)可以放函數(shù),struct本身就是函數(shù),只能定義變量不能放函數(shù)