Vb2017 过程重载的问题

fjjfxz 2019-05-15 11:47:14
按微软文档,Overloads是可选的修饰符。 当在同一个类中定义多个重载属性或过程时,不必使用 Overloads 修饰符。 然而,如果在某个声明中使用 Overloads,则必须在所有的声明中使用它。
我在一个控制台程序中,重载abs函数过程,不加Overloads可以通过,加了反而提示:不恰当的使用关键字Overloads,是怎么肥四呢?

Sub Main()
abs(-10)
abs(-100&)
abs(-12.23)
Console.WriteLine("Press any key to continue.")
Console.Read()
End Sub

Overloads Function abs(mX As Integer) As Integer
Console.WriteLine("Integer abs:")
Return IIf(mX > 0, mX, -mX)
End Function

Overloads Function abs(mX As Long) As Long
Console.WriteLine("Long abs:")
Return IIf(mX > 0, mX, -mX)
End Function

Overloads Function abs(mX As Double) As Double
Console.WriteLine("double abs:")
Return IIf(mX > 0, mX, -mX)
End Function
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztltgg 2019-05-17
  • 打赏
  • 举报
回复
控制台Main是在一个Module里,是个静态类,没法继承的。Overloads是个继承的概念,要用在普通的能继承的类。
fjjfxz 2019-05-15
  • 打赏
  • 举报
回复
知道了,在控制台程序中不能写overloads关键字,在窗体应用程序中,是可选项。

16,549

社区成员

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

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