例項013自定義型別資料

2021-10-05 00:12:48 字數 2755 閱讀 5171

vb 6.0允許使用自定義型別的資料,但是vb.net,只允許定義結構型別的資料,本例主要介紹如何定義結構型別的變數。

[ ] [ accessmodifier ] [ shadows ] [ partial ] _

structure name [ ( of typelist ) ]

[ implements inte***cenames ]

[ datamemberdeclarations ]

[ methodmemberdeclarations ]

end structure

表 1

術語definition

attributelist可選。 請參閱特性列表。

accessmodifier可選。 可以是以下各項之一:

- 公有

- 保護

- 朋友

- 私有

- 受保護的朋友

- 私有保護

請參閱 access levels in visual basic。

shadows可選。 請參閱陰影。

partial可選。 指示結構的分部定義。 請參閱部分。

name必需。 此結構的名稱。 請參閱 declared element names。

of可選。 指定這是乙個泛型結構。

typelist如果使用 of 關鍵字,則為必需。 此結構的型別引數列表。 請參閱型別列表。

implements可選。 指示此結構實現乙個或多個介面的成員。 請參閱implements 語句。

inte***cenames如果使用implements語句,則是必需的。 此結構實現的介面的名稱。

datamemberdeclarations必需。 零個或多個constdimenumevent語句宣告結構的資料成員。

methodmemberdeclarations可選。functionoperatorpropertysub過程的零個或多個宣告,它們充當結構的方法成員。

end structure必需。 終止structure定義。

定義結構型別需要注意的是:在結構中的陣列型別不能預先指定上界,應該用動態陣列;結構體中成員資料的作用域不同,訪問許可權不同。這裡比較兩種,一種是public型別,一種是private型別。前者型別的成員存使用時不受限制,使用這種變數的公有成員,直接用結構變數名.成員名。後者型別的成員只能由結構體內部使用,否則會出錯。

結構體中可以定義屬性、函式和過程。

module module1

public structure student_info

public sname as string

public s*** as string

public ascore() as single

private sage as byte

public property age as byte

getreturn sage

end get

set(byval value as byte)

sage = value

end set

end property

end structure

sub main()

dim stu(10) as student_info

dim icount as integer, jcount as integer = 0

dim ***() as string =

randomize()

for icount = 0 to 10

stu(icount).sname = "第" & cstr(icount + 1) & "個學生"

stu(icount).s*** = ***(jcount)

jcount = 1 - jcount

redim stu(icount).ascore(2)

stu(icount).ascore(0) = int(rnd() * 100) / 10 + 90

stu(icount).ascore(1) = int(rnd() * 100) / 10 + 90

stu(icount).ascore(2) = int(rnd() * 100) / 10 + 90

stu(icount).age = cbyte(rnd() * 10) + 20

next

for icount = 0 to 10

console.writeline(stu(icount).sname)

console.writeline(stu(icount).s***)

for i = 0 to 2

console.writeline(stu(icount).ascore(i))

next

console.writeline(stu(icount).age)

next

console.readline()

end sub

end module

自定義資料型別

include include using namespace std typedef double weight,tall struct student int main cout for int i 0 i 4 i return 0 貼上正確的輸出 這裡tall和weight都是自己可以輸入的 ...

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...

自定義型別

下面列舉幾種c語言中常用的自定義資料型別 1.結構體型別 當描述乙個整型變數時,可以用int,描述字元型變數時,可以用char,但要描述乙個學生時,因為這個學生包含的資訊很多,比如姓名,性別,年齡等,不能通過單一的型別來描述,所以,這裡引入結構體型別,將某個事物的共有屬性集合在一起,宣告乙個結構體型...