Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
#1

Проверить код - C++

29.04.2013, 20:22. Просмотров 340. Ответов 4
Метки нет (Все метки)

Пытаюсь переделать программу из С# в C++.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  {
    protected int x;
    protected int y;
    public virtual void Show () / / віртуальний метод
    {
      Console.WriteLine ("точка на площині: ({0}, {1})", x, y);
    }
    public DemoPoint (int x, int y)
    {
      this.x = x; this.y = y;
    }
  }
  class DemoShape: DemoPoint / / похідний клас
  {
    protected int z;
    public override void Show () / / перевантаження віртуального методу
    {
      Console.WriteLine ("точка в просторі: ({0}, {1}, {2})", x, y, z);
    }
 
    public DemoShape (int x, int y, int z): base (x, y) / / конструктор похідного класу
    {
      this.z = z;
    }
 
  }
  class DemoLine: DemoPoint / / похідний клас
  {
    protected int x2;
    protected int y2;
    public override void Show () / / перевантаження віртуального методу
    {
      Console.WriteLine ("відрізок на площині: ({0}, {1}) - ({2}, {3})", x, y, x2, y2);
    }
    public DemoLine (int x1, int y1, int x2, int y2): base (x1, y1)
    {
      this.x2 = x2; this.y2 = y2;}}
  class Program
  {
    static void Main ()
    {
      DemoPoint point1 = new DemoPoint (0,1);
      point1.Show ();
      DemoShape pointShape = new DemoShape (2,3,4);
      pointShape.Show ();
      DemoLine line = new DemoLine (0,0, 10, 10);
      line.Show ();
      Console.WriteLine ();
      // Використання посилання базового класу на об'єкти похідних класів
      DemoPoint point2 = pointShape;
      point2.Show ();
      point2 = line;
      point2.Show ();
    }
  }
и вот, что получается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "stdafx.h"
#include <iostream>
using namespace std;
class DemoPoint // базовий клас
    {
    protected:
    int x, y;
public:
    virtual void Show () {
      cout << "точка на площині: " << x <<  y;
    }
    DemoPoint (int tx, int ty) : x(tx), y(ty) { }
  };
 class DemoShape: public DemoPoint { // похідний клас
protected:
  int z;
public:
    void Show () { // перевантаження віртуального методу
      cout << x << y << z;
    }
 
    DemoShape (int tx, int ty, int tz): base (x, y), z(tz) { } // конструктор похідного класу
  };
    class DemoLine :public DemoPoint // похідний клас
    {
    public: int x;
            int yEnd;
            void Show()
        {
            cout<<"({"<<x<<"}, {"<<y<<"}) - ({"<<xEnd<<"}, {"<<yEnd<<"})"<<endl;
        }
    };
 class DemoLine: public DemoPoint // похідний клас
  {
  protected :int x2;
    int y2;
  public :override void Show () // перевантаження віртуального методу
    {
      cout<<"відрізок на площині: ({0}, {1}) - ({2}, {3})"<< x<< y<< x2<< y2;
    }
    public DemoLine (int x1, int y1, int x2, int y2): base (x1, y1)
    {
      this.x2 = x2; this.y2 = y2;}}
 
int _tmain(int argc, _TCHAR* argv[])
{
    DemoPoint point1 = new DemoPoint (0,1);
      point1.Show ();
      DemoShape pointShape = new DemoShape (2,3,4);
      pointShape.Show ();
      DemoLine line = new DemoLine (0,0, 10, 10);
      line.Show ();
      Console.WriteLine ();
      // Використання посилання базового класу на об'єкти похідних класів
      DemoPoint point2 = pointShape;
      point2.Show ();
      point2 = line;
      point2.Show ();
    return 0;
}
Проверте код и подскажите что менять в tmain
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int _tmain(int argc, _TCHAR* argv[])
{
    DemoPoint point1 = new DemoPoint (0,1);
      point1.Show ();
      DemoShape pointShape = new DemoShape (2,3,4);
      pointShape.Show ();
      DemoLine line = new DemoLine (0,0, 10, 10);
      line.Show ();
      Console.WriteLine ();
      // Використання посилання базового класу на об'єкти похідних класів
      DemoPoint point2 = pointShape;
      point2.Show ();
      point2 = line;
      point2.Show ();
    return 0;
Заранее спасибо.

Добавлено через 2 минуты
И, если не трудно, написать правильный код на С++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить код (C++):

проверить код на с++ - C++
проверьте код, а то не могу понять в чем ошибка, почему не запускается #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include...

Проверить код - C++
Предоставляемые целые числа с1, ... с9. Есть ли в этой последовательности три подряд стоящих нулевых элементов. Если есть, то напечатать их...

Проверить код - C++
Всем здравствуйте. Ребят, не могли бы посмотреть и поправить программу, а то выдает ошибку: Compiling... d:\program...

Проверить код - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cctype&gt; int _tmain(int argc, _TCHAR* argv) { ...

Проверить код - C++
не внятный вывод на экран #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;conio.h&gt; struct TStudentData { int Num; ...

Проверить код на корректность - C++
Сделал лабу, все работает отлично.... Но я не уверен что она написана нормально, может где то переменная не там обявляется или не так...

4
naymkazp
20 / 20 / 1
Регистрация: 14.11.2010
Сообщений: 52
29.04.2013, 20:34 #2
Переделать программу из C# в C++
0
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
29.04.2013, 21:20  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <iostream>
using namespace std;
class DemoPoint // базовий клас
    {
    protected:
    int x, y;
public:
    virtual void Show () {
      cout << "точка на площині: " << x <<  y;
    }
    DemoPoint (int tx, int ty) : x(tx), y(ty) { }
  };
 class DemoShape: public DemoPoint { // похідний клас
protected:
  int z;
public:
    void Show () { // перевантаження віртуального методу
      cout << x << y << z;
    }
 
    DemoShape (int tx, int ty, int tz): base (x, y), z(tz) { } // конструктор похідного класу
  };
    class DemoLine :public DemoPoint // похідний клас
    {
    public: int xEnd;
            int yEnd;
            void Show()
        {
            cout<<"({"<<x<<"}, {"<<y<<"}) - ({"<<xEnd<<"}, {"<<yEnd<<"})"<<endl;
        }
    };
 class DemoLine: public DemoPoint // похідний клас
  {
  protected :int x2;
    int y2;
  public :override void Show () // перевантаження віртуального методу
    {
      cout<<"відрізок на площині: ({0}, {1}) - ({2}, {3})"<< x<< y<< x2<< y2;
    }
    public DemoLine (int x1, int y1, int x2, int y2): base (x1, y1)
    {
      this.x2 = x2; this.y2 = y2;}}
 
int _tmain(int argc, _TCHAR* argv[])
{
    DemoPoint *point1 = new DemoPoint (0,1);
      point1.Show ();
      DemoShape *pointShape = new DemoShape (2,3,4);
      pointShape.Show ();
      DemoLine *line = new DemoLine (0,0, 10, 10);
      line.Show ();
      // Використання посилання базового класу на об'єкти похідних класів
      DemoPoint *point2 = pointShape;
      point2.Show ();
      point2 = line;
      point2.Show ();
    return 0;
}
Помогите исправить ошибки
0
naymkazp
20 / 20 / 1
Регистрация: 14.11.2010
Сообщений: 52
29.04.2013, 21:43 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "stdafx.h"
#include <iostream>
#include <locale>
using namespace std;
class DemoPoint // базовий клас
    {
    protected: 
        int x, y;
    public:
        virtual void Show () {
            cout << "точка на площині: x=" << x <<"  y="<<  y<<endl;
        }
        DemoPoint (int tx, int ty) {
        x=tx;
        y=ty; 
        }
        DemoPoint() { x=0; y=0;} 
  };
 
class DemoShape: public DemoPoint { // похідний клас
protected:
  int z;
public:
    void Show () { // перевантаження віртуального методу
      cout << "x="<<x <<"  y="<< y <<"  z="<< z<<endl;
    }
 
    DemoShape (int tx, int ty, int tz) {       // конструктор похідного класу
        x=tx;
        y=ty;
        z=tz;
    }    
  };
 
 
class DemoLine: public DemoPoint // похідний клас
  {
  protected :int x2;
            int y2;
  public : void Show () // перевантаження віртуального методу
    {
        cout<<"відрізок на площині: ({"<<x<<"}, {"<<y<<"}) - ({"<<x2<<"}, {"<<y2<<"})"<<endl;
    }
    DemoLine (int x1, int y1, int x3, int y3)
    {
     x=x1;
     y=y1;
     x2=x3;
     y2=y3;
    }
 };
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    DemoPoint point1 = DemoPoint (0,1);
      point1.Show ();
      DemoShape pointShape = DemoShape (2,3,4);
      pointShape.Show ();
      DemoLine line = DemoLine (0,0, 10, 10);
      line.Show ();
      // Використання посилання базового класу на об'єкти похідних класів
      DemoPoint point2 = pointShape;
      point2.Show ();
      point2 = line;
      point2.Show ();
 
      system("pause");
    return 0;
}
1
magasin
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
29.04.2013, 22:12  [ТС] #5
Если не сложно то помогите переделать такую програму
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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 override void Show () / / перевизначення абстрактного методу
    {
      Console.WriteLine ("точка на площині: ({0}, {1})", x, y);
    }
    public override double Dlina () / / перевизначення абстрактного методу
    {
      return Math.Sqrt (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 override void Show () / / перевизначення абстрактного методу
    {
      Console.WriteLine ("точка в просторі: ({0}, {1}, {2})", x, y, z);
    }
    public override double Dlina () / / перевизначення абстрактного методу
    {
      return Math.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 () / / перевизначення абстрактного методу
    {
      Console.WriteLine ("відрізок на площині: ({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 ();
        Console.WriteLine ("Dlina: {0: f2} \ n", a.Dlina ());
      } } }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2013, 22:12
Привет! Вот еще темы с ответами:

Проверить код на правильность - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_CTYPE,&quot;Russian&quot;); cout &lt;&lt; &quot;\n Введите...

Проверить код на правильность - C++
Ребят написала код но не уверена что правильно.К сожалению Как проверить не знаю. проверьте пожалуйста заранее благодарю! #include...

Проверить код на правильность - C++
Здравствуйте! Помогите пожалуйста проверить код на правильность,т.к. почему-то не компилируется. Задача: Известно кол-во очков, набранных...

Проверить скомпилируется ли код - C++
Всем добрый день! Помогите пожалуйста: имеется листинг программы, написанной на С++, но нет самого компилятора и возможности его скачать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
29.04.2013, 22:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru