Неполные описания класса использовались в C++ для того, чтобы можно было создать ссылку на класс до его описания. Это было необходимо для взаимных ссылок. В VC++ нельзя создать объект, а только ссылку. В VB, CSharp такой проблемы как минимум при коде в одном файле не стоит.
Visual C++.Net
Visual Basic.Net
CSharp
Visual C++.Net
class CMyNewClass;
class CMyClass
{
public:
CMyNewClass* cm;
};
class CMyNewClass
{
int i;
};
Visual Basic.Net
Class CMyClass
Dim cm As New CMyNewClass()
End Class
Public Class CMyNewClass
End Class
CSharp
class CMyClass
{
CMyNewClass cm = new CMyNewClass();
}
class CMyNewClass
{
}