Переделать Из C# В С++

  • Автор темы andru1312
  • Дата начала
A

andru1312

Код:
abstract class Demo // абстрактний клас
{
abstract public void Show ();// абстрактний метод
abstract public double Dlina ();// абстрактний метод
}

class DemoPoint: public Demo // похідний клас від абстрактного
{
protected int x;
protected int y;
public DemoPoint (int x, int y)
{
this.x = x; this.y = y;
}
public : void Show () // перевизначення абстрактного методу
{
cout<<"точка на площині: ({0}, {1})"<<x<<y);
}
public : double Dlina () // перевизначення абстрактного методу
{
returnSqrt (x * x + y * y);
}
}

class DemoShape: public DemoPoint // похідний клас
{
protected int z;
public DemoShape (int x, int y, int z): base (x, y)
{
this.z = z;
}
public : void Show () // перевизначення абстрактного методу
{
cout<<"точка в просторі: ({0}, {1}, {2})"<<x<<y<<z);
}
public override double Dlina () // перевизначення абстрактного методу
{
return Sqrt (x * x + y * y + z * z);
}
}

class DemoLine: public DemoPoint / / похідний клас
{
protected int x2;
protected int y2;
public DemoLine (int x1, int y1, int x2, int y2): base (x1, y1)
{
this.x2 = x2; this.y2 = y2;
}
public override void Show () // перевизначення абстрактного методу
{
cout<<"відрізок на площині: ({0}, {1}) - ({2}, {3})"<<x<<y<<x2<<y2;
}
public override double Dlina () // перевизначення абстрактного методу
{
return Math.Sqrt ((x-x2) * (x-x2) + (y-y2) * (y-y2));
}
}

class Program
{
static void Main ()
{
Demo [] Ob = new Demo [5]; // масив посилань
// Заповнення масиву посиланнями на об'єкти похідних класів
Ob [0] = new DemoPoint (1,1);
Ob [1] = new DemoShape (1,1,1);
Ob [2] = new DemoLine (0,3,4,0);
Ob [3] = new DemoLine (2,1,2,10);
Ob [4] = new DemoPoint (0,100);
foreach (Demo a in Ob) / / перегляд масиву
{
a.Show ();
cout<<"Dlina: {0: f2} \ n"<< a.Dlina ();
} } }
Помогите написать на С++
 
E

elochka25252525

А для чего простите, необходимо переделать?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!