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

Адаптировать код Visual под Borland - C++

Восстановить пароль Регистрация
 
asm123
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 16
10.02.2013, 17:47     Адаптировать код Visual под Borland #1
Пожалуйста помогите, есть несколько файлов с кодами, которые были написаны на Визуал, нужно изменить синтаксис под борланд, в эквивалентах не силен, выкладываю коды файлов, самый главный в самом низу

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
Интерфейс класса Product:
// Описание виртуального класса "изделие"
 
#pragma once
 
#include "stdafx.h"
 
class product
{
public:
    product(void);
    product(char *NAME);
    product(const product&);
    ~product();
 
    virtual void Show(void) = 0;
 
    // Статические функции и компонента
 
    // Добавление объекта в список
    static void Add(product *obj);
    // Установка названия
    void SetName(char *NAME);
    
    // Просмотр списка
    static void Print(void);
protected:
    char *type;     // Тип изделия
    char *name;     // Название изделия
    product *next;  // Указатель на следующую структуру списка
 
    static product *begin;  // Указатель на начало списка
 
public:
    static const int NameSz = 25;   // максимальная длинна названия
};
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
Интерфейс класса Detail:
// Описание класса "деталь"
 
#pragma once
 
#include "stdafx.h"
#include "product.h"
 
class detail : public product 
{
public:
    detail(void);
    detail(char *NAME, int QUN);
    detail(const detail&);
    ~detail();
 
    void Show(void);        // Просмотр списка
    // Установка количества деталей данного типа
    void SetQun(int QUN);
 
protected:
    int quantity;       // Количество деталей
};
 
Интерфейс класса Mechan:
// Описание класса "механизм"
 
#pragma once
 
#include "stdafx.h"
#include "product.h"
 
class mechan : public product
{
public:
    mechan(void);
    mechan(char *NAME, char *СOND);
    mechan(const mechan&);
    ~mechan();
 
    void Show(void);        // Просмотр списка
    // Установка состояния механизма
    void SetCondition(char *COND);
 
protected:
    char *condition;        // Состояние механизма
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Интерфейс класса Unit:
// Описание класса "узел"
 
#pragma once
 
#include "stdafx.h"
#include "product.h"
 
class unit : public product
{
public:
    unit(void);
    unit(char *NAME, int QELEM);
    unit(const unit&);
    ~unit();
 
    void Show(void);        // Просмотр списка
    // Установка количества деталей в узле
    void SetQElem(int QELEM);
    
protected:
    int quantelem;      // Количество деталей в узле(от 1 до 100)
};
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Реализация класса Product:
#include "stdafx.h"
#include "product.h"
#include <string>
#include <iostream>
 
using namespace std;
 
// Конструктор по умолчанию
product::product(void)
{
    name = new char[NameSz];
    type = new char[NameSz];
    strcpy(name, "NoName");
    strcpy(type, "type");
    next = NULL;
    Add(this);
}
 
// Конструктор с параметром
product::product(char *NAME)
{
    name = new char[NameSz];
    type = new char[NameSz];
    strcpy(name, NAME);
    strcpy(type, "type");
    next = NULL;
    Add(this);
}
 
// Конструктор копирования
product::product(const product &PRODUCT)
{
    name = new char[NameSz];
    type = new char[NameSz];
    strcpy(name, PRODUCT.name);
    strcpy(type, "type");
    next = PRODUCT.next;
}
 
product::~product()
{
    product *prev;
    product *temp=begin;
    if(begin==this)
        begin=this->next;
    else
    {
        while(temp->next!=this)
        temp=temp->next;
        temp->next=this->next;
    }
      delete[] name;
    delete[] type;
    cout << "This is a destructor of a base class\n";
}
 
// Добавление объекта в список
void product::Add(product *obj)
{
    // Если список пустой
    if(!begin)
        begin = obj;
    //Если в списке уже есть элементы,то находим последний и добавляем объект в конец списка
    else
    {
        product *current;
        current = begin;
        while(current->next)
            current = current->next;
        current->next = obj;
    }
}
 
// Просмотр списка
void product::Print(void)
{
    product *obj;
    obj = begin;
    // Пробегаем по списку
    while(obj)
    {
        //Вызываем метод, переопределённый отдельно для каждого класса
        obj->Show();
        obj = obj->next;
    }
}
 
// Установка имени
void product::SetName(char *NAME)
{
    strcpy(name, NAME);
}
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
Реализация класса Detail:
#include "stdafx.h"
#include "detail.h"
#include <iostream>
#include <string>
 
using namespace std;
 
// Конструктор по умолчанию
detail::detail(void)
{
    quantity = 0;
    strcpy(type, "detail");
}
 
// Конструктор с параметром
detail::detail(char *NAME, int QUN) : product(NAME)
{
    quantity = QUN;
    strcpy(type, "detail");
}
 
// Конструктор копирования
detail::detail(const detail &ADM)
{
    quantity = ADM.quantity;
}
 
// Деструктор
detail::~detail()
{
    cout << "This is a destructor of a derived class detail\n";
}
 
// Просмотр списка
void detail::Show(void)
{
    cout << "Name: " << name << ", type: " << type 
         << ", quantity: " << quantity << "\n\n";
}
 
// Установка количества деталей данного типа
void detail::SetQun(int QUN)
{
    quantity = QUN;
}
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
Реализация класса Mechan:
#include "stdafx.h"
#include "mechan.h"
#include "product.h"
#include <string>
#include <iostream>
 
using namespace std;
 
// Конструктор по умолчанию
mechan::mechan(void)
{
    condition = new char[NameSz];
    strcpy(condition, "cond");
    strcpy(type, "mechanism");
}
 
// Конструктор с параметром
mechan::mechan(char *NAME, char *COND) : product(NAME)
{
    condition = new char[NameSz];
    strcpy(condition, COND);
    strcpy(type, "mechanism");
}
 
// Конструктор копирования
mechan::mechan(const mechan &MECH)
{
    condition = new char[NameSz];
    strcpy(condition, MECH.condition);
}
 
// Деструктор
mechan::~mechan()
{
    cout << "this is a destructor of a derived class mechanism\n";
}
 
// Просмотр списка
void mechan::Show(void)
{
    cout << "Name: " << name << ", type: " << type 
         << ", condition: " << condition << "\n\n";
}
 
// Задание состояния механизма
void mechan::SetCondition(char *COND)
{
    strcpy(condition, COND);
}
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
Реализация класса Unit:
#include "stdafx.h"
#include "unit.h"
#include <iostream>
#include <string>
 
using namespace std;
 
// Конструктор по умолчанию
unit::unit(void)
{
    quantelem = 1;
    strcpy(type, "unit");
}
 
// Конструктор с параметром
unit::unit(char *NAME, int QELEM) : product(NAME)
{
    if(QELEM > 100 || QELEM < 1)
    {
        cout << "The quantity of elements in one unit should be between 1 and 100\n";
        quantelem = 1;
    }
    else    
        quantelem = QELEM;
    strcpy(type, "unit");
}
 
// Конструктор копирования
unit::unit(const unit &UNIT)
{
    quantelem = UNIT.quantelem;
}
 
// Деструктор
unit::~unit()
{
    cout << "this is a destructor of a derived class unit\n";
}
 
// Просмотр списка
void unit::Show(void)
{
    cout << "Name: " << name << ", type: " << type 
         << ", quantity of elements: " << quantelem << "\n\n";
}
 
//Установка количества деталей в узле 
void unit::SetQElem(int QELEM)
{
    if(QELEM > 100 || QELEM < 1)
    {
        cout << "The quantity of elements in one unit should be between 1 and 100\n";
        quantelem = 1;
    }
    else    
        quantelem = QELEM;
}
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
Демонстрационная программа:
// Лабораторна работа №2.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "product.h"
#include "unit.h"
#include "mechan.h"
#include "detail.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
// Инициализация статического компонента-данного
product* product::begin = NULL;
 
int _tmain(int argc, _TCHAR* argv[])
{
    // Использование конструктора по умолчанию
    detail *det0;
    det0 = new detail();
    cout << "Using the default constructor.\n\n";
    det0->Show();
    det0->SetName("Special Detail");
    det0->SetQun(300);
    // Создаём несколько объектов и демонстрируем работу с 
    // полиморфными объектами через статическую функцию-компоненту Print(void)
    detail det1("Detail 1", 200);
    detail det2("Detail 2", 140);
    mechan mech1("Mechanism 1", "bad");
    mechan mech2("Mechanism 2", "good");
    mechan mech3("Mechanism 3", "excellent");
    unit uin1("Unit 1", 20);
    unit uin2("Unit 2", 50);
    // Статический метод Print вызывается через имя
    // класса, а не через объект
    product::Print();
    delete det0;
    // Вызов деструкторов объектов
      getch ();
    return 0;
}
Надеюсь на Вашу помощь...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 17:47     Адаптировать код Visual под Borland
Посмотрите здесь:

Переделать код с Visual C++ в Borland C++ C++
C++ Метод хаффмана (Помогите адаптировать под задание)
C++ Переделайте код под Visual
Переделать код С++ под Visual Stidio (2008) C++
изменить код visual studio под Borland C++ C++
C++ Адаптировать код для работы в Borland
Переделать код под Visual studio, С++ C++
Адаптировать код чтения из файла в Visual Studio C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 17:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru