В C++ при наследовании по умолчанию все данные и функции становятся приватными. Но это правило существует только в C++. Во всех остальных языках, по умолчанию наследование публичное.
Visual C++.Net
Visual Basic.Net
CSharp
Visual C++.Net
VC++
using namespace System;
class CMyClass
{
public:
int i;
};
class CMyNewClass : CMyClass
{
};
int main(void)
{
CMyNewClass cm;
cm.i = 10; // ошибка, приватные данные
return 0;
}
Visual Basic.Net
Module Module1
Class CMyClass
Public i As Integer
Private x As Integer
Protected y As Integer
End Class
Class CMyNewClass
Inherits CMyClass
End Class
Sub Main()
rem Dim ck As New CMyClass()
Dim cm As New CMyNewClass()
cm.i = 10
End Sub
End Module
CSharp
namespace ConsoleApplication2
{
using System;
class CMyClass
{
public int i;
private int x;
protected int y;
}
class CMyNewClass:CMyClass
{
}
public class Class1
{
public static int Main(string[] args)
{
CMyClass cm = new CMyNewClass();
cm.i = 10;
return 0;
}
}
}