Шаг 29 - Перегрузка операторов

Visual C++.Net
Visual Basic.Net
CSharp

Visual C++.Net

#using <mscorlib.dll>

using namespace System;

class  CMyClass
{
public:
	CMyClass()
	{
	}
	CMyClass(int xx,int yy)
	{
		x=xx;
		y=yy;
	}
	CMyClass operator + (CMyClass& cm1 )
	{
		return CMyClass(cm1.x+x,cm1.y+y);	
	}
	int x;
	int y;
};

int main(void)
{
	CMyClass* cm1 = new CMyClass(1,1);
	CMyClass* cm2 = new CMyClass(1,1);
	CMyClass cm3=*cm1+*cm2;
	Console::WriteLine(cm3.x); 
}

Visual Basic.Net

Не поддерживаеться.

CSharp

namespace ConsoleApplication2
{
	using System;

	class CMyClass
	{
		public CMyClass(int xx,int yy)
		{
			x=xx;
			y=yy;
		}

		public static CMyClass operator +(CMyClass c1, CMyClass c2) 
		{
			return new CMyClass(c1.x + c2.x, c1.y + c2.y);
		}
		public int y;
		public int x;
	}

	public class Class1
	{
		public static int Main(string[] args)
		{
			CMyClass cm = new CMyClass(1,1);
			CMyClass cm1 = new CMyClass(2,2);
			CMyClass rez=cm+cm1;
			Console.Write(rez.x);
			return 0;
		}
	}
}

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