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

borland c++ bgi - C++

Восстановить пароль Регистрация
 
dserp18
 Аватар для dserp18
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 74
Записей в блоге: 2
19.09.2013, 00:05     borland c++ bgi #1
создаем класс point и определяем компонентные функции класса

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
#ifndef POINTCPP
#define POINTCPP 1
#include <graphics.h>
class point {
protected:
int x,y;
public:
point (int xi=0, int yi=0);
int& givex(void);
int& givey(void);
 
void show(void);
 
void move
(int xn=0, int yn=0);
 
private:
 void hide();
 };
 
point:: point (int xi=0,int yi=0)
{x=xi; y=yi;}
 
int& point::givex(void) {return x;}
int& point::givey(void) {return y;}
void point::show (void)
{putpixel (x,y,getcolor());}
void point::hide (void)
{putpixel (x,y,getbkcolor());}
 
void point::move (int xn=0,int yn=0)
{ hide();
x=xn;y=yn;
show();
}
#endif
 
Далее создаем файл, содержащий main
 
#include <graphics.h>
#include <conio.h>
#include "point.cpp"
 
void main()
{
point A (200,50);
point B;
point D (500,200);
int dr= DETECT, mod;
initgraph(&dr,&mod,"c:\\borlandc\\bgi");
A.show();
getch();
B.show();
getch();
D.show();
A.move();
getch();
B.move(50,60);
getch();
closegraph();
}
компилятор ругается:
Default argument value redeclared for parameter 'xi'
Default argument value redeclared for parameter 'xn'
Это означает, что:
"для параметра заново описано используемое по умолчанию значение аргумента параметр (Когда описанный параметр функции С++ имеет используемое по умолчанию значение, данное значение нельзя изменить, описать заново или пропустить в другом описании той же функции.)"

В книге, из которой взят пример, написано:" в прототипе конструктора и в прототипе функции move() имена формальных параметров xi,yi,xn,yn можно было бы и опустить. "

Видимо, так и нужно сделать, чтобы компилятор не ругался?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.09.2013, 00:09     borland c++ bgi #2
C++
1
2
3
4
5
6
7
8
point::point (int x,int yi)
 {x=xi; y=yi;}
 
void point::move (int xn,int yn)
 { hide();
 x=xn;y=yn;
 show();
 }
Значения по умолчанию пишутся только в прототипах.
fridi
-8 / 40 / 1
Регистрация: 21.09.2009
Сообщений: 145
19.09.2013, 00:15     borland c++ bgi #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
#ifndef POINTCPP
#define POINTCPP 1
#include <graphics.h>
class point {
protected:
int x,y;
public:
point (int xi=0, int yi=0);
int& givex(void);
int& givey(void);
 
void show(void);
 
void move
(int xn=0, int yn=0);
 
private:
void hide();
};
 
point::point (int xi,int yi)
{x=xi; y=yi;}
 
int& point::givex(void) {return x;}
int& point::givey(void) {return y;}
void point::show (void)
{putpixel (x,y,getcolor());}
void point::hide (void)
{putpixel (x,y,getbkcolor());}
 
void point::move (int xn,int yn)
{ hide();
x=xn;y=yn;
show();
}
#endif
dserp18
 Аватар для dserp18
0 / 0 / 0
Регистрация: 20.01.2013
Сообщений: 74
Записей в блоге: 2
20.09.2013, 22:30  [ТС]     borland c++ bgi #4
А, вроде исправил, но все равно не работает. Наверное bgi не пашет...
Yandex
Объявления
20.09.2013, 22:30     borland c++ bgi
Ответ Создать тему
Опции темы

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