c c 中的struct和class的區別

2021-09-27 22:22:15 字數 800 閱讀 6160

主要有兩種情況:

1.c語言中的struct和c++中的class區別。

2.c++中的struct和c++中的class的區別。

下面分別介紹:

1.c語言中的struct和c++中的class的區別

c語言中的struct只能定義成員變數,不能夠定義成員函式。如下所示:

struct point

}

2.c++中的struct和class的區別。-----對預設成員的訪問許可權和繼承方式的不同

在c++中的struct有建構函式和成員函式。並且有class的其它特性。c++中的struct中預設的成員是public的,而class中成員預設是private的,如下**:

#include "stdafx.h"

#include //#include using namespace std;

class test_class

public:

test_class(int x, int y)

void print1() };

struct test_struct

test_struct(int x, int y)

private:

void print1() };

int _tmain(int argc, _tchar* ar**)

從繼承角度看,class繼承預設是private繼承,而struct的繼承是public繼承。以private方式繼承父類的子類物件不能訪問父類的public成員。

類的封裝和訪問控制,struct和class的區別

1.includeusing namespace std 求圓的面積 封裝有兩層含義 把屬性和方法進行封裝,對屬性和方法進行訪問控制 class circle double getr double gets protected private 類物件做函式引數 類封裝了成員函式 可以呼叫類的成員函式...

C C 中struct的區別

這裡有兩種情況下的區別。1 c的struct與c 的class的區別。2 c 中的struct和class的區別。在第一種情況下,struct與class有著非常明顯的區別。c是一種過程化的語言,struct只是作為一種複雜資料型別定義,struct中只能定義成員變數,不能定義成員函式 在純粹的c語...

C C 中的結構體 struct

什麼是結構體?簡單的來說,結構體就是乙個可以包含不同資料型別的乙個結構,它是一種可以自己定義的資料型別,它的特點和陣列主要有 兩點不同,首先結構體可以 在乙個結構中宣告不同的資料型別,第二相同結構的結構體變數是可以相互賦值的,而陣列是做不到的,因為陣列是單一資料型別的資料集合,它本身不是資料型別 而...