请教这个Module有没有错误,如果没有错误运行后输出什么?多谢

xiaoxiaoisaac 2008-04-20 06:06:18
Module modFree
#Region "clsShape"
Public Class clsShape
Private m_Area As Double
Private m_Sides As Integer

Public Sub New()
m_Area = 0.0
m_Sides = 0
End Sub

Public Sub New(ByVal Sides As Integer)
m_Sides = Sides
End Sub

Public Sub New(ByVal Area As Double)
m_Area = Area
End Sub

Public Sub New(ByVal Area As Double, ByVal Sides As Integer)
m_Area = Area
m_Sides = Sides
End Sub

Public Property Area() As Double
Get
Return m_Area
End Get
Set(ByVal Value As Double)
m_Area = Value
End Set
End Property

Public Property Sides() As Integer
Get
Return m_Sides
End Get
Set(ByVal Value As Integer)
m_Sides = Value
End Set
End Property
End Class
#End Region


#Region "clsTriangle"
Public Class clsTriangle
Inherits clsShape

Public Sub New()
MyBase.New(3)
End Sub

Public Sub New(ByVal Area As Double)
MyBase.New(Area, 3)
End Sub

Public Function CalculateArea(ByVal SideBase As Double, ByVal Height As Double, Optional ByVal AssignToArea As Boolean = False) As Double
Dim Area As Double = (SideBase * Height) / 2

If AssignToArea Then
Me.Area = Area
End If

Return Area
End Function
End Class
#End Region

Public Sub Main()
Dim objTriangle As New clsTriangle
Dim objShape As New clsShape

objTriangle.Area = -330
objTriangle.Sides = 5.5
objTriangle.CalculateArea(10.0, 2.5)

objShape.Area = 123
objShape.Sides = -2
objShape = CType(objShape, clsTriangle)

Console.WriteLine(TypeOf objTriangle Is clsShape)
Console.WriteLine(TypeOf objShape Is clsTriangle)
Console.WriteLine(objTriangle.Area)
End Sub
End Module
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
3tzjq 2008-04-20
  • 打赏
  • 举报
回复
你的Sides属性是Int32类型,而在objTriangle.Sides = 5.5 却赋予的是Double类型,语法上就这个错误。


Console.WriteLine(TypeOf objTriangle Is clsShape) 'return true
Console.WriteLine(TypeOf objShape Is clsTriangle) 'return false
Console.WriteLine(objTriangle.Area) 'return -330
xiaoxiaoisaac 2008-04-20
  • 打赏
  • 举报
回复
没有其他的朋友知道了吗?大家帮帮忙,多谢了
xiaoxiaoisaac 2008-04-20
  • 打赏
  • 举报
回复
那应该怎样改???这句错在哪里???能不能仔细说说?
wzuomin 2008-04-20
  • 打赏
  • 举报
回复
clsTriangle Inherits clsShape
觉得
objShape = CType(objShape, clsTriangle) 这句不行吧
xiaoxiaoisaac 2008-04-20
  • 打赏
  • 举报
回复
没有人知道吗?请各位帮帮忙,实在是没辙了,多谢了
xiaoxiaoisaac 2008-04-20
  • 打赏
  • 举报
回复
还是有些懵懵懂懂的,分数奉上

16,717

社区成员

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

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