2 Бенедикт
(Раз уж это нехорошее слово - "наследование" - прозвучало)
Вероятно ты написал то, что ожидает увидеть топткстартер.
Однако, твой пример содержит ошибку, т.к. прямо противоречит пониманию наследования
в языках типа Java. Показанный тобой класс CDocChild не является наследником cDoc.
Стандартное (для типа Java языков) заключается в том, что при приведении к предку
на переменной супертипа должен вызываться переопределенный в потомке метод.
Т.е. метод фактического экземпляра объекта, а не метод, определенный в супертипе.
(Т.е. если на переменной супертипа отдать приказ "документу" - сохранись, или "отобразись"
будет как-то печально увидеть порезанную визуалку или обнаружить, что строка сохранилась
не в ту таблицу или были сохранены не все поля.)
Твой пример должен быть переписан таким оразом;
Класс CDocChild:
Option Explicit
Implements CDoc
Private m_CDoc As CDoc
Private Sub Class_Initialize()
Set m_CDoc = New CDoc
End Sub
Private Function CDoc_OnlyParentOverload() As String
CDoc_OnlyParentOverload = OnlyParentOverload 'm_CDoc.OnlyParentOverload
End Function
Public Function OnlyParentOverload() As String
OnlyParentOverload = "CDocChild::OnlyParentOverload()"
End Function
Вот теперь мы имеем "честного" потомка в смысле приведения к типу предка.
Не надо учить людей плохому.
А так - сплошная красота и полный ООПздец.
PS
похоже, сайт был недоступен некоторое время.