C的結構(struct)和C++中的結構有什么分別?C++中的結構又和類有什么區別?

熱心網友

在C和C++中 struct是不同的。區別就是:在C中struct 內部只能有各種數據,在C++中struct 可以有數據,有函數。例如在C中如下是正確的:struct MyStruct{ int i; char* str; struct MyStruct my; // 自定義的數據類型也可以放在一個結構體里};而下列是錯誤的struct MyStruct{ int i; char* str; int func(); // 函數不能作為C結構體的成員};在C++中以上兩種寫法都是正確的,在C++中struct和class只有一點區別,如樓上所述,struct默認成員變量是public,class默認成員變量是private。

熱心網友

在C語言中,struct,可以定義一個數據結構。在C++中struct和class一樣,都是定義一個類,可以有自已的成員函數struct默認成員變量是publicclass默認成員變量是private

熱心網友

沒有專門比較過,我認為C++內的結構體和C的結構體是相同的。而結構體和類的區別在于:1、結構體是一種用于存儲數據的變量集合,它的組成部分只能是變量、數組、指針、結構體等等,而不能出現函數等其他的程序體。而類則既可以有以上提到的那些之外,還可以出現函數(即成員函數)等程序體2、結構體本身可以看作是一種數據類型,也就是說可以定義結構體變量(一開始說明的是結構體類型),而類是不能定義變量的,它所定義的是一種全新的結構:對象現在就想到這么多,想到再補充吧!