Struct 和class 的區別。

2021-08-19 06:47:59 字數 706 閱讀 3450

struct 和class 的區別。

【others】struct是一種結構體型別的標誌,它和c++中的class很相似。

c++中兩者的唯一區別在於:

lclass定義中預設情況下的成員都是私有的,而結構struct定義中預設情況下的成員都是公有的。

l  在c中,結構中不能有成員函式,而在c++中可以有成員函式.

【jacob】

但struct 中可以有函式指標。

/*編譯錯誤*/

#include

struct has_memeber_function_s

;} ;

typedef struct has_memeber_function_s has_memeber_function_t;

int main()

;struct has_memeber_function_s

; void(*fun)();

};typedef struct has_memeber_function_s has_memeber_function_t;

int main()

struct和class的區別

1.值型別與引用型別 結構是值型別 值型別在堆疊上分配位址,所有的基型別都是結構型別,例如 int 對應system.int32 結構,string 對應 system.string 結構 通過使用結構可以建立更多的值型別 類是引用型別 引用型別在堆上分配位址 堆疊的執行效率要比堆的執行效率高,可是...

class和struct的區別

從語法上,在c 中 只討論c 中 class和struct做型別定義時只有兩點區別 一 預設繼承許可權。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理 二 成員的預設訪問許可權。class的成員預設是private許可權,struct預...

class和struct的區別

從語法上,在c 中 只討論c 中 class和struct做型別定義時只有兩點區別 一 預設繼承許可權。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理 二 成員的預設訪問許可權。class的成員預設是private許可權,struct預...