Я пытаюсь реализовать некоторые формы для инженерного проекта и абстрагировать его для некоторых общих функций, чтобы иметь обобщенную программу.
То, что я пытаюсь сделать, это иметь интерфейс cShape и иметь cRectangle и cCircle реализовать cShape
Мой код ниже:
  cShape интерфейс
Option Explicit
Public Function getArea()
End Function
Public Function getInertiaX()
End Function
Public Function getInertiaY()
End Function
Public Function toString()
End Function
  cRectangle класс
Option Explicit
Implements cShape
Public myLength As Double ''going to treat length as d
Public myWidth As Double ''going to treat width as b
Public Function getArea()
    getArea = myLength * myWidth
End Function
Public Function getInertiaX()
    getInertiaX = (myWidth) * (myLength ^ 3)
End Function
Public Function getInertiaY()
    getInertiaY = (myLength) * (myWidth ^ 3)
End Function
Public Function toString()
    toString = "This is a " & myWidth & " by " & myLength & " rectangle."
End Function
  cCircle класс
Option Explicit
Implements cShape
Public myRadius As Double
Public Function getDiameter()
    getDiameter = 2 * myRadius
End Function
Public Function getArea()
    getArea = Application.WorksheetFunction.Pi() * (myRadius ^ 2)
End Function
''Inertia around the X axis
Public Function getInertiaX()
    getInertiaX = Application.WorksheetFunction.Pi() / 4 * (myRadius ^ 4)
End Function
''Inertia around the Y axis
''Ix = Iy in a circle, technically should use same function
Public Function getInertiaY()
    getInertiaY = Application.WorksheetFunction.Pi() / 4 * (myRadius ^ 4)
End Function
Public Function toString()
    toString = "This is a radius " & myRadius & " circle."
End Function
Проблема заключается в том, что всякий раз, когда я запускаю свои тестовые примеры, возникает следующая ошибка:
Ошибка компиляции:
Объектный модуль должен реализовать '~' для интерфейса '~'




