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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.77
mrtherains
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 17
#1

Р. Лафоре "ООП в C++". Не компилируется пример с консольной графикой - C++

05.09.2013, 09:51. Просмотров 5222. Ответов 51
Метки нет (Все метки)

Изучаю C++ по книге Р. Лафоре. Дошёл до 5-ой главы, и мне встретился пример использования консольной графики. Страница 179. Пример называется "Структура circle". К этому примеру прилагается библиотека "msoftcon.h". Ну пример я переписал, библиотеку подключил и в папку с .cpp файлом положил. Работаю в DevC++. И после компилирования выскакивает несколько ошибок:
  • [Linker error] undefined reference to `set_color(color, color)'
  • [Linker error] undefined reference to `set_fill_style(fstyle)'
  • [Linker error] undefined reference to `draw_circle(int, int, int)'
  • [Linker error] undefined reference to `init_graphics()'
  • [Linker error] undefined reference to `set_cursor_pos(int, int)'
  • ld returned 1 exit status


И вот не знаю что делать. В чём ,собственно говоря, проблема? Заранее спасибо всем кто откликнется.

Вот код самого примера:
Пример

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
  /*Р. Лафоре. ООП в C++*/
/*Глава 5. Функции.*/
 
#include "msoftcon.h"
 
/////////////////////////////////////////////////
struct circle
{
      int xCo,yCo;      //Координаты центра.
      int radius;
      color fillcolor;  //цвет
      fstyle fillstyle; //стиль заполнения
      
      };
////////////////////////////////////////////////
void circ_draw(circle c)
{
     set_color(c.fillcolor);
     set_fill_style(c.fillstyle);
     draw_circle(c.xCo,c.yCo,c.radius);
     }
////////////////////////////////////////////////
int main()
{
    
    init_graphics(); //инициализация графики
    
    //создание кругов
    
    circle c1 = {15,7,5,cBLUE,X_FILL};
    circle c2 = {41,12,7,cRED,O_FILL};
    circle c3 = {65,18,4,cGREEN,MEDIUM_FILL};
    
    circ_draw(c1);
    circ_draw(c2);
    circ_draw(c3);
    
    set_cursor_pos(1,25);
    
    return 0;
    }


А вот код который находится в "msoftcon.h":

msoftcon.h

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
  //msoftcon.h
//Объявления функций консольной графики от Lafore
//используются консольные функции Windows 
 
#ifndef _INC_WCONSOLE    //этот файл не должен включаться
#define _INC_WCONSOLE    //дважды в тот же исходный файл
 
#include <windows.h>     //для консольных функций Windows
#include <conio.h>       //для kbhit(), getche()
#include <math.h>        //для sin, cos
 
enum fstyle { SOLID_FILL, X_FILL,      O_FILL, 
              LIGHT_FILL, MEDIUM_FILL, DARK_FILL };
 
enum color {
   cBLACK=0,     cDARK_BLUE=1,  cDARK_GREEN=2, DARK_CYAN=3, 
   cDARK_RED=4,  cDARK_MAGENTA=5, cBROWN=6,  cLIGHT_GRAY=7,
   cDARK_GRAY=8, cBLUE=9,         cGREEN=10,     cCYAN=11, 
   cRED=12,      cMAGENTA=13,     cYELLOW=14,    cWHITE=15 };
//---------------------------------------------------------
void init_graphics();
void set_color(color fg, color bg = cBLACK);
void set_cursor_pos(int x, int y);
void clear_screen();
void wait(int milliseconds);
void clear_line();
void draw_rectangle(int left, int top, int right, int bottom);                    
void draw_circle(int x, int y, int rad);
void draw_line(int x1, int y1, int x2, int y2);
void draw_pyramid(int x1, int y1, int height);
void set_fill_style(fstyle);
#endif /* _INC_WCONSOLE */
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2013, 09:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Р. Лафоре "ООП в C++". Не компилируется пример с консольной графикой (C++):

Не компилируется листинг "Передача по ссылке аргументов" Р.Лафоре - C++
Вообщем в 5 Главе имеется листинг. Набрал его в Visual Studio 2013. При компиляции выдает ошибку. Пожалуйста, помогите разобраться! ...

Проблемы с переводом строки в число (по книге Лафоре "ООП в С ++ ") - C++
Лафоре &quot;ООП в Си ++ &quot; - проблемы с упражнением 12, глава 7 Условие: Напишите программу, которая будет принимать от пользователя две...

Код из "Р.Лафоре. ООП в С++" - C++
Р.Лафоре. &quot;ООП в С++ &quot; (4-е издание). 2012. Глава 12, стр.574, листинг 12.17, программа EMPL_IO. В классах присутствуют виртуальные...

Задача из "ООП в C++" Р. Лафоре - C++
Глава 3. Задача 11 (стр. 141 - 4-е издание, СПб, Питер, 2012). Не слишком ли громоздкая конструкция у меня получилась для решения...

Лафоре Не компилируется пример - C++
Вот текст кода#include &quot;msoftcon.h&quot; class Shape { protected: int xCo, yCo; color fillcolor; fstyle fillstyle; ...

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей"; - C++
Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается. Дано натуральное число N (N&lt;20),...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mrtherains
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 17
06.09.2013, 09:32  [ТС] #16
Цитата Сообщение от reisal78 Посмотреть сообщение
думаю это не поможет, я честно говоря уже с трудом вспоминаю какие именно ошибки у меня выскакивали, но я практически уверен, что если Вы попытаетесь скомпилировать "это безобразие" в более ранних версиях VS, то ошибок не будет... не забывайте что эта книга начала 2000 годов, и этот файл создан в тоже время...А за 10 лет кое что все же поменялось )
Что же, попробую поискать какой нибудь допотопный VSC++.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2013, 09:32 #17
Я вот с этой темы скачал, и одну букву только убрал в файле (в 2010 студии делал): Трудность с компиляцией классов
Миниатюры
Р. Лафоре "ООП в C++". Не компилируется пример с консольной графикой  
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2013, 09:44 #18
Цитата Сообщение от mrtherains Посмотреть сообщение
Ошибка выскакивает на операторе "cputs".
Разве там ошибка? В студии просто предупреждения на cputs и putch, на это можно не обращать внимание (или заменить на _cputs и _putch). Но ошибка там одна есть. Вот с исправлением:
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
 // msoftcon.cpp
// подпрограммы доступа к консольным функциям Windows 
 
// компилятор должен знать, где искать этот файл
// в MCV++, /Tools/Options/Directories/Include/type путь
 
#include "msoftcon.h"
HANDLE hConsole;         // поддержка консольного режима 
char fill_char;          // символ заполнения
//---------------------------------------------------------
void init_graphics()
   {
   COORD console_size = { 80, 25 };
   // открыть канал ввода/вывода на консоль
   hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
                   FILE_SHARE_READ | FILE_SHARE_WRITE,
                   0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
   // установить размер экрана 80x25 
   SetConsoleScreenBufferSize(hConsole, console_size);
   // текст белым по черному 
   SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 15));
 
   fill_char = '\xDB';  // заполнение по умолчанию
   clear_screen();
   }
//---------------------------------------------------------
void set_color(color foreground, color background)
   {
   SetConsoleTextAttribute(hConsole, 
                        (WORD)((background << 4) | foreground));
   }  // конец setcolor()
 
/* 0  Черный          8  Темно-серый
   1  Темно-синий     9  Синий
   2  Темно-зеленый   10 Зеленый
   3  Темно-голубой   11 Алый
   4  Темно-красный   12 красный
   5  Темно-алый      13 алый
   6  Коричневый      14 Желтый
   7  Светло-серый    15 Белый
   */
//---------------------------------------------------------
void set_cursor_pos(int x, int y)
{
    COORD cursor_pos;            // Начало в верхнем левом 
    cursor_pos.X = x - 1;        // Windows начинает с (0, 0)
    cursor_pos.Y = y - 1;        // мы начнем с (1, 1)
    SetConsoleCursorPosition(hConsole, cursor_pos);
}
//---------------------------------------------------------
void clear_screen()
{
    set_cursor_pos(1, 25);
    for(int j = 0; j < 25; j++)
        _putch('\n');
    set_cursor_pos(1, 1);
}
//---------------------------------------------------------
void wait(int milliseconds)
{
    Sleep(milliseconds);
}
//---------------------------------------------------------
void clear_line()                 // очистка до конца строки
{                              // 80 пробелов
    // .....1234567890123456789012345678901234567890
    // .....0........1.........2.........3.........4 
    _cputs("                                        ");
    _cputs("                                        ");
}
//---------------------------------------------------------
void draw_rectangle(int left, int top, int right, int bottom) 
{
    char temp[80];
    int width = right - left + 1;
 
    int j;
    for( j = 0; j < width; j++)      // строка квадратов
        temp[j] = fill_char;   
    temp[j] = 0;                        // null
 
    for(int y = top; y <= bottom; y++)  // строковый стек 
    {
        set_cursor_pos(left, y);
        _cputs(temp);
    }
}
//---------------------------------------------------------
void draw_circle(int xC, int yC, int radius)
{
    double  theta, increment, xF, pi = 3.14159;
    int x, xN, yN;
 
    increment = 0.8 / static_cast<double>(radius);
    for(theta = 0; theta <= pi / 2; theta += increment)//1/4 
                                                       // окружности
    {
        xF = radius * cos(theta);  
        xN = static_cast<int>(xF * 2 / 1); // пикселы не
                                           // квадратные :-(
        yN = static_cast<int>(radius * sin(theta) + 0.5);
        x = xC - xN;
        while(x <= xC + xN) // заполнить две горизонтальные линии
        {                   // по одной на каждую ? окружности
            set_cursor_pos(x, yC - yN); _putch(fill_char);   // верх
            set_cursor_pos(x++, yC + yN); _putch(fill_char); // низ
        }
    }  // конец for
}
//---------------------------------------------------------
void draw_line(int x1, int y1, int x2, int y2)
{
 
    int w, z, t, w1, w2, z1, z2;
    double  xDelta = x1 - x2, yDelta = y1 - y2, slope;
    bool isMoreHoriz;
 
    if(fabs(xDelta) > fabs(yDelta)) // еще горизонтальная
    {
        isMoreHoriz = true;
        slope = yDelta / xDelta;
        w1 = x1; z1 = y1; w2 = x2, z2 = y2; // w = x, z = y 
    }
    else                            // еще вертикальная
    {
        isMoreHoriz = false;
        slope = xDelta / yDelta;
        w1 = y1; z1 = x1; w2 = y2, z2 = x2; // w = y, z = x
    }
 
    if(w1 > w2)                     // если за w
    {
        t = w1; w1 = w2; w2 = t;    // заменить (w1, z1)
        t = z1; z1 = z2; z2 = t;    // на (w2, z2)
    }
    for(w = w1; w <= w2; w++)            
    {
        z = static_cast<int>(z1 + slope * (w - w1));
        if(!(w == 80 && z == 25))  // убрать прокрутку на 80, 25
        {
            if(isMoreHoriz)
                set_cursor_pos(w, z);
            else
                set_cursor_pos(z, w);
            _putch(fill_char);
        }
    }
}
//---------------------------------------------------------
void draw_pyramid(int x1, int y1, int height)
{
    int x, y;
    for(y = y1; y < y1 + height; y++)
    {
        int incr = y - y1;
        for(x = x1 - incr; x <= x1 + incr; x++)
        {
            set_cursor_pos(x, y);
            _putch(fill_char);
        }
    }
}
//---------------------------------------------------------
void set_fill_style(fstyle fs)
{
    switch(fs)
    {
    case SOLID_FILL:  fill_char = '\xDB'; break;
    case DARK_FILL:   fill_char = '\xB0'; break;
    case MEDIUM_FILL: fill_char = '\xB1'; break;
    case LIGHT_FILL:  fill_char = '\xB2'; break;
    case X_FILL:      fill_char = 'X';    break;
    case O_FILL:      fill_char = 'O';    break;
    }
}
//---------------------------------------------------------
mrtherains
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 17
06.09.2013, 09:55  [ТС] #19
Цитата Сообщение от alsav22 Посмотреть сообщение
Разве там ошибка? В студии просто предупреждения на cputs и putch, на это можно не обращать внимание (или заменить на _cputs и _putch). Но ошибка там одна есть. Вот с исправлением:
Кликните здесь для просмотра всего текста
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
 // msoftcon.cpp
// подпрограммы доступа к консольным функциям Windows 
 
// компилятор должен знать, где искать этот файл
// в MCV++, /Tools/Options/Directories/Include/type путь
 
#include "msoftcon.h"
HANDLE hConsole;         // поддержка консольного режима 
char fill_char;          // символ заполнения
//---------------------------------------------------------
void init_graphics()
   {
   COORD console_size = { 80, 25 };
   // открыть канал ввода/вывода на консоль
   hConsole = CreateFile("CONOUT$", GENERIC_WRITE | GENERIC_READ,
                   FILE_SHARE_READ | FILE_SHARE_WRITE,
                   0L, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0L);
   // установить размер экрана 80x25 
   SetConsoleScreenBufferSize(hConsole, console_size);
   // текст белым по черному 
   SetConsoleTextAttribute(hConsole, (WORD)((0 << 4) | 15));
 
   fill_char = '\xDB';  // заполнение по умолчанию
   clear_screen();
   }
//---------------------------------------------------------
void set_color(color foreground, color background)
   {
   SetConsoleTextAttribute(hConsole, 
                        (WORD)((background << 4) | foreground));
   }  // конец setcolor()
 
/* 0  Черный          8  Темно-серый
   1  Темно-синий     9  Синий
   2  Темно-зеленый   10 Зеленый
   3  Темно-голубой   11 Алый
   4  Темно-красный   12 красный
   5  Темно-алый      13 алый
   6  Коричневый      14 Желтый
   7  Светло-серый    15 Белый
   */
//---------------------------------------------------------
void set_cursor_pos(int x, int y)
{
    COORD cursor_pos;            // Начало в верхнем левом 
    cursor_pos.X = x - 1;        // Windows начинает с (0, 0)
    cursor_pos.Y = y - 1;        // мы начнем с (1, 1)
    SetConsoleCursorPosition(hConsole, cursor_pos);
}
//---------------------------------------------------------
void clear_screen()
{
    set_cursor_pos(1, 25);
    for(int j = 0; j < 25; j++)
        _putch('\n');
    set_cursor_pos(1, 1);
}
//---------------------------------------------------------
void wait(int milliseconds)
{
    Sleep(milliseconds);
}
//---------------------------------------------------------
void clear_line()                 // очистка до конца строки
{                              // 80 пробелов
    // .....1234567890123456789012345678901234567890
    // .....0........1.........2.........3.........4 
    _cputs("                                        ");
    _cputs("                                        ");
}
//---------------------------------------------------------
void draw_rectangle(int left, int top, int right, int bottom) 
{
    char temp[80];
    int width = right - left + 1;
 
    int j;
    for( j = 0; j < width; j++)      // строка квадратов
        temp[j] = fill_char;   
    temp[j] = 0;                        // null
 
    for(int y = top; y <= bottom; y++)  // строковый стек 
    {
        set_cursor_pos(left, y);
        _cputs(temp);
    }
}
//---------------------------------------------------------
void draw_circle(int xC, int yC, int radius)
{
    double  theta, increment, xF, pi = 3.14159;
    int x, xN, yN;
 
    increment = 0.8 / static_cast<double>(radius);
    for(theta = 0; theta <= pi / 2; theta += increment)//1/4 
                                                       // окружности
    {
        xF = radius * cos(theta);  
        xN = static_cast<int>(xF * 2 / 1); // пикселы не
                                           // квадратные :-(
        yN = static_cast<int>(radius * sin(theta) + 0.5);
        x = xC - xN;
        while(x <= xC + xN) // заполнить две горизонтальные линии
        {                   // по одной на каждую ? окружности
            set_cursor_pos(x, yC - yN); _putch(fill_char);   // верх
            set_cursor_pos(x++, yC + yN); _putch(fill_char); // низ
        }
    }  // конец for
}
//---------------------------------------------------------
void draw_line(int x1, int y1, int x2, int y2)
{
 
    int w, z, t, w1, w2, z1, z2;
    double  xDelta = x1 - x2, yDelta = y1 - y2, slope;
    bool isMoreHoriz;
 
    if(fabs(xDelta) > fabs(yDelta)) // еще горизонтальная
    {
        isMoreHoriz = true;
        slope = yDelta / xDelta;
        w1 = x1; z1 = y1; w2 = x2, z2 = y2; // w = x, z = y 
    }
    else                            // еще вертикальная
    {
        isMoreHoriz = false;
        slope = xDelta / yDelta;
        w1 = y1; z1 = x1; w2 = y2, z2 = x2; // w = y, z = x
    }
 
    if(w1 > w2)                     // если за w
    {
        t = w1; w1 = w2; w2 = t;    // заменить (w1, z1)
        t = z1; z1 = z2; z2 = t;    // на (w2, z2)
    }
    for(w = w1; w <= w2; w++)            
    {
        z = static_cast<int>(z1 + slope * (w - w1));
        if(!(w == 80 && z == 25))  // убрать прокрутку на 80, 25
        {
            if(isMoreHoriz)
                set_cursor_pos(w, z);
            else
                set_cursor_pos(z, w);
            _putch(fill_char);
        }
    }
}
//---------------------------------------------------------
void draw_pyramid(int x1, int y1, int height)
{
    int x, y;
    for(y = y1; y < y1 + height; y++)
    {
        int incr = y - y1;
        for(x = x1 - incr; x <= x1 + incr; x++)
        {
            set_cursor_pos(x, y);
            _putch(fill_char);
        }
    }
}
//---------------------------------------------------------
void set_fill_style(fstyle fs)
{
    switch(fs)
    {
    case SOLID_FILL:  fill_char = '\xDB'; break;
    case DARK_FILL:   fill_char = '\xB0'; break;
    case MEDIUM_FILL: fill_char = '\xB1'; break;
    case LIGHT_FILL:  fill_char = '\xB2'; break;
    case X_FILL:      fill_char = 'X';    break;
    case O_FILL:      fill_char = 'O';    break;
    }
}
//---------------------------------------------------------


Спасибо большое. Заработало.
Warlus
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 1
29.06.2015, 11:06 #20
Нужно "CONOUT$" заменить на L"CONOUT$". Тогда будет всё работать. Ну лично у меня так.
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 372
04.11.2015, 12:20 #21
alsav22, добрый день, читаю туже книгу и остановился на этом же примере. Дело в том ,что работаю на линукс. Вопрос чем заменить #include "msoftcon.h ?
nmcf
5309 / 4629 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
04.11.2015, 12:22 #22
Просто заменить не получится. Надо переделывать.
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 372
04.11.2015, 12:22 #23
reisal78, Вы предлагаете не читать эту книгу ?
reisal78
650 / 563 / 133
Регистрация: 28.04.2013
Сообщений: 1,610
04.11.2015, 13:33 #24
sergei60, новичку читать однозначно =)
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 372
04.11.2015, 14:12 #25
nmcf, а какую библиотеку посоветуете для линукс? что бы код переделать
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.11.2015, 14:24 #26
Цитата Сообщение от sergei60 Посмотреть сообщение
Вопрос чем заменить #include "msoftcon.h ?
Попробуйте здесь спросить: http://www.cyberforum.ru/cpp-linux/
nmcf
5309 / 4629 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
04.11.2015, 16:00 #27
Цитата Сообщение от sergei60 Посмотреть сообщение
а какую библиотеку посоветуете для линукс?
Вроде бы ncurses.h там есть для управления цветами и произвольного перемещения курсора в консольном окне.
Fatmarmelad
1 / 1 / 0
Регистрация: 20.02.2016
Сообщений: 280
21.05.2016, 21:05 #28
Добрый день!
Где можно скачать файл msoftcon.h? Скиньте, пожалуйста, ссылку.
nd2
2211 / 1783 / 621
Регистрация: 29.01.2016
Сообщений: 5,720
21.05.2016, 23:12 #29
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
Где можно скачать файл msoftcon.h?
В первом посте.
Fatmarmelad
1 / 1 / 0
Регистрация: 20.02.2016
Сообщений: 280
22.05.2016, 00:48 #30
Вы имеете ввиду код? Подскажите, как можно сделать из кода файл?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2016, 00:48
Привет! Вот еще темы с ответами:

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Разобраться в примерх к книге Лафоре "Обьектно-ориентированое программирование в С++" - C++
Всем доброго времени суток кто читает эту тему. Сегодня, изучая С++ по книге Лафоре &quot;Обьектно-ориентированое программирование в С++&quot; 4-е...

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++" - C++
Мне надо решение упражнений из книги Р. Лафоре &quot;Объектно-ориентированное программирование в С++&quot;. Хотя бы какая-то часть

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++" - C++
Хотя я и начинающий с++-шник. Хочу помочь другим людям. Здесь я буду выкладывать всё что мне удалось решить. В моих решениях будет много...


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

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

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