Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 18:27   #1
abcgeorgii
Новичок
Джуниор
 
Регистрация: 28.04.2013
Сообщений: 2
По умолчанию Переделать программу из C# в C++

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication11
{
class DemoPoint // базовий клас
{
public int x;
public int y;
public void Show()
{
Console.WriteLine("({0}, {1})", x, y);
}
}
class DemoLine : DemoPoint // похідний клас
{
public int xEnd;
public int yEnd;
public void Show()
{
Console.WriteLine("({0}, {1}) - ({2}, {3})", x, y, xEnd, yEnd);
}
}

class Program
{
static void Main()
{
DemoPoint point = new DemoPoint();
point.x = 0;
point.y = 0;
point.Show();
DemoLine line = new DemoLine();
line.x = 2; line.y = 2;
line.xEnd = 10; line.yEnd = 10;
line.Show();
Console.ReadKey();
}

}
}
Помогите переписать в С++. Заранее спасибо.
abcgeorgii вне форума Ответить с цитированием
Старый 28.04.2013, 18:38   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Console.Writeline заменить на использование std::cout.
Спецификаторы доступа в C++ применяются ко всем объектам до конца класса или следующего спецификатора (т.е. в Вашем случае достаточно в каждом классе в начале написать public: ).
new возвращает указатель на объект, а не сам объект; доступ к членам по указателю осуществляется через оператор ->:
Код:
DemoPoint* point = new DemoPoint();
point->x = 0;
При наследовании следует указать тип наследования, в Вашем случае public:
Код:
class DemoLine : public DemoPoint
Всякая память, выделенная с помощью оператора new, должна быть освобождена оператором delete.
Точка входя в программу в C++ называется main (_tmain в проектах студии) и не принадлежит никакому классу.
Необходимо использование директив препроцессора #include <header> для подключения тех или иных функций и классов. Для данной программы нужно только включение <iostream>.
Прямых аналогов приведённых в Вашей программе предложений using в C++ нет. С другой стороны, их использования и не требуется.
Объявления всех классов и структур должны завершаться ; после закрывающей фигурной скобки.
Abstraction вне форума Ответить с цитированием
Старый 28.04.2013, 19:15   #3
abcgeorgii
Новичок
Джуниор
 
Регистрация: 28.04.2013
Сообщений: 2
По умолчанию

Переписал ,но пишет error C1004: непредвиденное обнаружение конца файла c:\users\admin\documents\visual studio 2012\projects\consoleapplication9\c onsoleapplication9\исходный код.cpp 39

#include <iostream>
using namespace std;
class DemoPoint // базовий клас
{
public: int x;
int y;
void Show()
{
cout<<"({"<<x<<"}, {"<<y<<"})"<<endl;
}
};

class DemoLine ublic DemoPoint // похідний клас
{
public: int xEnd;
int yEnd;
void Show()
{
cout<<"({"<<x<<"}, {"<<y<<"}) - ({"<<xEnd<<"}, {"<<yEnd<<"})"<<endl;
}
};
class Program
{
void Main ()
{
DemoPoint point ;
point.x = 0;
point.y = 0;
point.Show();
DemoLine line ;
line.x = 2; line.y = 2;
line.xEnd = 10; line.yEnd = 10;
line.Show();
int temp;
cin>>temp;

}
}
abcgeorgii вне форума Ответить с цитированием
Старый 29.04.2013, 00:38   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

abcgeorgii

error C1004: непредвиденное обнаружение конца файла

при таких настройках первой строчкой в любом cpp файле должна быть
#include "stdafx.h"
Rififi вне форума Ответить с цитированием
Старый 29.04.2013, 10:45   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Также Вы пропустили это:
Цитата:
Точка входя в программу в C++ называется main (_tmain в проектах студии) и не принадлежит никакому классу.
class Program уберите.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как переделать программу на TASM? подскОжите как упростить данную программу а то билеберда какая-то datileo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 25.02.2013 11:56
переделать программу poltos-15 Паскаль, Turbo Pascal, PascalABC.NET 3 17.11.2012 14:09
С++ Переделать программу scrinn Помощь студентам 0 07.06.2012 20:47