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

Проверить код

Добавлено: 29 апр 2013, 21:52
abcgeorgii
Из С#

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

class DemoPoint
{
  protected int x;
  protected int y;
  public void Show ()
  {
    Console.WriteLine ("({0}, {1})", x, y);
  }
}

class DemoLine: public DemoPoint

{
  
  public int xEnd;
  public int yEnd;
  new public void Show ()
  {
    
Console.WriteLine ("({0}, {1}) - ({2}, {3})", x, y, xEnd, yEnd);
   }

  public DemoLine (int x1, int y1, int x2, int y2) / / конструктор похідного класу
  {
    x = x1; y = y1;
    xEnd = x2; yEnd = y2;
  }
}

class Program

{
  static void Main ()
  {
    DemoPoint point = new DemoPoint (); // викликається конструктор за замовчуванням
    point.Show ();
    DemoLine line = new DemoLine (2, 2, 10, 10); // викликається власний конструктор
    line.Show ();
  }}
пытаюсь переделать в С++
Вот что получается

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

#include "stdafx.h"
#include <iostream>
using namespace std;
class DemoPoint // базовий клас
    {
     protected: int x;
            int y;
	public:  void Show()
        {
            cout<<"({"<<x<<"}, {"<<y<<"})"<<endl;
        }
    };
 
    class DemoLine :p ublic DemoPoint // похідний клас
    {
    public: int xEnd;
            int yEnd;
           new public: void Show()
        {
            cout<<"({"<<x<<"}, {"<<y<<"}) - ({"<<xEnd<<"}, {"<<yEnd<<"})"<<endl;
        }
   public DemoLine (int x1, int y1, int x2, int y2) / / конструктор похідного класу
  {
    x = x1; y = y1;
    xEnd = x2; yEnd = y2;
  }
}
	};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    DemoPoint *point = new DemoPoint (); // викликається конструктор за замовчуванням ;
            point.Show();
            DemoLine *line = new DemoLine (2, 2, 10, 10); // викликається власний конструктор
           line.Show ();
            int temp;
            cin>>temp;
    return 0;
}
Пожалуйста проверте и ,если не трудно, напишите рабочий вариант.

Re: Проверить код

Добавлено: 30 апр 2013, 08:46
Albor

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

 public:  // достаточно один раз указать, далее все методы и поля будут общедоступными
void Show()
        {
            // cout<<"({"<<x<<"}, {"<<y<<"})"<<endl; // так переменные не вывести
            cout<<x<<y<<endl; // где то так, можно между переменными вставить разделитель 
            cout<<x<<' '<<y<<endl; // с пробелом между переменными
        }

Дальше аналогично...

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

int _tmain(int argc, _TCHAR* argv[])
{
   // DemoPoint *point = new DemoPoint (); // викликається конструктор за замовчуванням ;
      DemoPoint point; // достаточно для вызова конструктора по умолчанию
            point.Show();
    //        DemoLine *line = new DemoLine (2, 2, 10, 10); // викликається власний конструктор
           DemoLine line(2, 2, 10, 10); // вызываем конструктор с параметрами
           line.Show ();
            int temp;
            cin>>temp;
    return 0;
}