Страница 1 из 1

Переделать из C# в С++

Добавлено: 04 май 2013, 15:28
abcgeorgii

Код: Выделить всё

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 ();
      } } }
Помогите написать на С++

Секрет исчез, но что осталось?

Добавлено: 13 май 2013, 05:22
MarishafealaSoke
Собственно обговор будет об этом покупать собственность и неожиданно? А не так ли Вы любили? который обожал в качестве
а новые виды фитнеса