Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 42
1

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

29.04.2013, 20:22. Просмотров 744. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2013, 20:22
Ответы с готовыми решениями:

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

Проверить код
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cctype&gt; int _tmain(int...

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

Проверить код
не внятный вывод на экран #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;conio.h&gt;...

4
20 / 20 / 8
Регистрация: 14.11.2010
Сообщений: 52
29.04.2013, 20:34 2
Переделать программу из C# в C++
0
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
20 / 20 / 8
Регистрация: 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
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2013, 22:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверить код
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; using namespace std; void...

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

Проверить код на ошибки
Всем привет. Я новичек, начал изучать программирование. Первую программу слизал с примера в книге...

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

Проверить код на правильность
Ребят написала код но не уверена что правильно.К сожалению Как проверить не знаю. проверьте...

Проверить код на правильность
Здравствуйте! Помогите пожалуйста проверить код на правильность,т.к. почему-то не компилируется....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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