Шаг 21 - Наследование, разное поведение по умолчанию

В 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;
		}
	}
}

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.07.2002