c struct和class的區別

2021-09-29 22:28:32 字數 602 閱讀 7669

1. struct不可以有無引數的建構函式

2. 如果struct存在建構函式,所有屬性必須在建構函式中初始化

3. 不可以在struct中直接初始化屬性

4. struct可以不使用new初始化

5. 若struct沒有使用new初始化, 所有屬性賦值之後, 物件才可以使用

6. struct不可被繼承

7. struct可以實現介面(與class一致)

8. struct是值型別,class是引用型別

using system;

namespace structdemo

// 7. struct可以實現介面

public struct person : iprintable

public void print()

public string name;

// 3. struct不可以直接初始化屬性

public int age;

}// 6. struct不可被繼承

//struct student : person

//class structdiff

}}

C struct和class的比較

什麼是class?class是我們通常所說的類,是物件導向程式設計的基本概念,一種可以自定義的資料結構型別,c 中的class 通常包含字段 屬性 方法 建構函式 索引器 操作符等等。在.net中,所有的類都最終繼承自system.object類,因此是一種引用型別,也就是說,new乙個類的例項時,...

C struct和class的比較

什麼是class?c 中的class 通常包含字段 屬性 方法 建構函式 索引器 操作符等等。在.net中,所有的類都最終繼承自system.object類,因此是一種引用型別,也就是說,new乙個類的例項時,例項的值儲存在託管堆 managed heap 中,而類的例項在堆疊 stack 上存放的...

C struct和class的區別

在c 中我們可以看到struct和class的區別並不是很大,兩者之間有很大的相似性。那麼為什麼還要保留struct,這是因為c 是向下相容的,因此c 中保留了很多c的東西。struct a 注意 因為struct是一種資料型別,那麼就肯定不能定義函式,所以在面向c的過程中,struct不能包含任何...