В результате наследование часто необходимо переопределить функцию, которая былa в базовом классе.
Visual C++.Net
Visual Basic.Net
CSharp
Visual C++.Net
#using <mscorlib.dll>
using namespace System;
class CMyClass
{
public:
virtual void Test()
{
Console::WriteLine("CMyClass Test");
}
};
class CMyClassNew : public CMyClass
{
public:
virtual void Test()
{
Console::WriteLine("CMyClassNew Test");
}
};
int main(void)
{
CMyClassNew cm;
cm.Test();
Console::Read();
}
Visual Basic.Net
Module Module1
Class CMyClass
Public x As Integer
Public Overridable Sub Test()
MsgBox("CMyClass")
End Sub
End Class
Class CMyClassNew
Inherits CMyClass
Public Overrides Sub Test()
MsgBox("CMyClassNew")
End Sub
End Class
Sub Main()
Dim cm As New CMyClassNew()
cm.Test()
End Sub
CSharp
namespace ConsoleApplication2
{
using System;
class CMyClass
{
public virtual void Test()
{
Console.WriteLine("CMyClass");
}
}
class CMyClassNew : CMyClass
{
public virtual void Test()
{
Console.WriteLine("CMyClassNew");
}
}
public class Class1
{
public static int Main(string[] args)
{
CMyClassNew cm = new CMyClassNew();
cm.Test();
Console.Read();
return 0;
}
}
}