关于面向对象!

wumylove1234 2004-07-23 10:26:21
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim Toaddress As New Address
call PopulateAddressFromForm(Toaddress)
End sub
Public Sub PopulateAddressFromForm(Byval Myaddress As Address)
'对Myaddress的修改
End sub

其中,Address是自定义的类.
跟据我的理解,PopulateAddressFromForm这个过程里的参数是传值的,在调用这个过程的时候,VB是用Toaddress的值来构造Myaddress这个对象,但是二者是处于不同的地址空间的,也就是说,对Myaddress的修改不会影响Toaddress.
上面是我的理解,但是实际上确不是这样,对Myaddress的修改确会影响Toaddress.
这是为什么啊?
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumylove1234 2004-07-23
  • 打赏
  • 举报
回复
谢谢楼上.这样我的思路就又清晰了一些!
AntingZ 2004-07-23
  • 打赏
  • 举报
回复
你的理解在C++中是完全正确的
但是不适合VB.NET,
在VB.NET中,对于类的实例,不管是值传递还是引用传递,都可以改变实例参数的值
wumylove1234 2004-07-23
  • 打赏
  • 举报
回复
改成传址结果也是对的.
不过我哪里理解错了?我在看C++的书后是这样理解上面的问题的.
请大侠给我讲讲原理!感激~

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧