'定义了一个类 class1
public a1 as string
public a2 as string
'定义了类成员变量
dim a as new class1
a.a1="1"
a.a2="2"
'定义另一个类成员变量
dim b as new class1
'?如何拷贝
b=a '出错!!
'定义了类成员变量
Dim a As New Class1
a.a1 = "1"
a.a2 = "2"
'定义另一个类成员变量
Dim b As New Class1
'?如何拷贝
'b = a '出错!!
Set b = a
Debug.Print b.a1, b.a2
简单吧,b=a 不行,set b=a 可以。
对象不能自动复制成员,Set 语句复制的只是对象指针
VB codeDim a As New Class1
a.a1 = "1"
a.a2 = "2"
Dim b As New Class1
Set b = a '复制指针,结果就是变量 a、b 指向同一个对象实例
Debug.Print b.a1, b.a2 '输出: 1 2
a.a1 = "3"
Debug.Print b.a1, b.a2 '输出: 3 2
VB code'要复制成员就需要自己动手
b.a1 = a.a1
b.a2 = a.a2
Debug.Print b.a1, b.a2 '输出: 1 2
a.a1 = "3"
Debug.Print b.a1, b.a2 '输出: 1 2