| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 599 人关注过本帖
标题:VB中可不可以把函数当做另一个函数的形参来传递
只看楼主 加入收藏
dengliedison
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-25
结帖率:0
收藏
 问题点数:0 回复次数:4 
VB中可不可以把函数当做另一个函数的形参来传递
   如题,下面我给出一个样本,请各位不吝赐教

 Private Function n1(ByVal s1 As Double) As Double
        Return s1
    End Function
    Private Function n2(ByVal s2 As Double) As Double
        Return s2 * s2
    End Function
    Private Function n3(ByVal s2 As Double) As Double
        Return s2 * s2 * s2
    End Function
rivate Function GetMK(ByVal a As Double, ByVal b As Double, ByVal k As Integer) As Double
        Dim x As Double, y As Double, h As Double
        Dim n As Long, j As Long
        x = 0 : y = 0 : h = 0
        n = 1 : j = 0
        For j = 0 To k Step 1
            n = n * 2
        Next
        h = (b - a) / n
        x = a + h / 2
        For j = 0 To n Step 1
            y = y + n1(x)//这里的函数不是特定,可以通过GetMK(........)里的参数,这里的参数可不可以是上面的函数,如果可以请帮我改进一下程序,谢谢各位啦
            x = x + h
        Next
        Return (h * y)
    End Function
在上述的红色字体是函数,
怎样用统一的函数来实现积分目的,
搜索更多相关主题的帖子: 函数 
2012-03-17 22:46
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
VB不支持直接调用 函数指针 ,间接倒还是可以了。

如果你的函数个数有限,并且在设计阶段函数个数均可以固定,你可以采取编号再加选择调用的办法来实现。
如 1号为n1,2号为n2,3号为n3
那么:

Private Function GetMK(.....,函数编号 as long) As Double
......
select case 函数编号
  case 1
    y = y + n1(x)
  case 2
    y = y + n2(x)
  case 3
    y = y + n3(x)
end select

----------------------------
如果你函数多,并且在设计阶段不固定,那么去研究一下
callbyname

执行一个对象的方法,或者设置或返回一个对象的属性。

你需要把这些函数封装到一个类中。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-19 08:47
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
另外,你还可以在网上搜索一下 VB 函数指针。
都是用巧妙的方法来实现,对于我们功底不深的人来说,可以参考,不建议立即去学。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-19 09:27
dengliedison
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-25
收藏
得分:0 
回复 2楼 风吹过b
这个方法可以试试,谢谢啦
2012-03-20 18:57
dengliedison
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-25
收藏
得分:0 
回复 3楼 风吹过b
VB,函数指针,这个挺新颖的,可以试试。我一直以为指针式C或C++的特权呢
2012-03-20 18:58
快速回复:VB中可不可以把函数当做另一个函数的形参来传递
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020347 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved