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

Запутался в классах (( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перевести Handle http://www.cyberforum.ru/cpp-beginners/thread31998.html
Долгое время думал что переводится как дескрптор, пока не увидел следующее:Handles and descriptors are opaque data structures which are defined in OCI applications. Т.е. явно дескриптор это дескриптор, а вот что такое handle. Лингво вразумительного ответа не дает. КАкая-то управляющая штука. И если не сложно приведите пример)) Спасибо.
C++ Работа с файлами Народ ниид хелп Создается тхт файл. куда записывается информация вводимая с клавы. инфа: Имя фамилия группа айди_номер возраст я так понимаю это используя записи. Записей не более 15 в файл сейв только имя, айди, группа стирание функция должна быть. http://www.cyberforum.ru/cpp-beginners/thread31997.html
C++ Небольшая мелочь по теории
"Какой максимальной длины может быть внешнее имя в программе на С++ в Вашей системе?" - с локальными именами понятно-С++ не накладывает ограничений на размер имён,а что за внешнее имя? Ещё вот недопонимаю вопрос "Нарисуйте граф целых и фундаментальных типов,где от одного типа идёт стрелка к другому,если все значения первого типа могут быть представлены значениями второго в любой...
C++ Задачи на строки и периоды десятичной дроби.
1. Ввести натуральные числа n и m, и напечатать период десятичной дроби m/n, если дробь конечна (до 50 знаков после запятой), то период = 0 2.Получить из слова a, вычёркиванием некоторого кол-ва букв, слова b. Отобразить на экране промежуточные этапы.
C++ Меню http://www.cyberforum.ru/cpp-beginners/thread31979.html
Народ помогите написать менюшку.. типо: Start Options Exit Я могу написать только чтением с клавы 1start 2options 3exit А мне надо типо стока бегал, фоном как-то..
C++ Операции с динамической памятью Есть new и delete. Можно написать так: int *a; a = new int ; Дальше, хотим удалить - пишем delete a; Вопрос такой: а если надо удалить не весь отрезок a..a, а только его "хвост", например a...a - тогда что нужно писать ? (Интересует именно стандартный синтаксис C++, не C). подробнее

Показать сообщение отдельно
tatsu
0 / 0 / 0
Регистрация: 29.04.2009
Сообщений: 3
29.04.2009, 18:24  [ТС]     Запутался в классах ((
Цитата Сообщение от NightmareZ Посмотреть сообщение
Зачем тебе вообще класс мыши нужен?
Класс мыши нужен для отображения в гафической части программы мыши которая перемещается в лабиринте пошагово с анимацией. Туда я еще закинул планировал закинул алгоритм поиска пути но как мне уже обьяснили это не будет верно.
Путь должен искать сам лабиринт а мышь должна здесь быть только графическим классом.

Добавлено через 1 минуту 49 секунд
Цитата Сообщение от Patch Посмотреть сообщение
каковы задачи классов?
какие данные хранит класс mouse?
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
struct Point
{
 int x, y;
};
 
struct Sizes
{ 
 int w, h;
};
 
class Maze
{
 public:
  Maze(HGE *hgec);
  ~Maze();      
  
  void Generate(int width, int height);
  void Render();
  void SetCellSize(int size);
  void SetRenderBoxPos(int x, int y);
  bool GetRoute(Point *route, int x1, int y1, int x2, int y2);
 private:
  void OuterWalls();
  void Divide(int BX, int BY, int BW, int BH, bool FL);
  HTEXTURE  TEX[16];
  int       **mazebox;
  hgeSprite *Sprite[16];
  HGE       *hge;
  int CellSize;
  Sizes MazeSize;
  Point MazePos;
};
 
class Mouse
{
 public:
  Mouse(HGE *hgec);
  ~Mouse();
 
  void Render();
  void Frame();
  void SetRenderBoxPos(int x, int y);
  void GoToCell       (int x, int y);
  void GoToXY         (int x, int y);
  void SetMouseSize   (int size);
  void SetMousePos    (int x, int y);
  void SetRandomPos();
private:
  HTEXTURE TEX;
  hgeSprite *Sprite[3];
  HGE   *hge;
  Point *route;
  int    RouteSteps;
  short  Doing;
  bool   Step; 
  Point  MousePos,
         MouseGoingPos,
         MazePos;
  Sizes  MazeSize;
  int    MouseSize;
};
Добавлено через 1 минуту 49 секунд
Прошу прощение за отсутствие коментариев, прокоментирован тока cpp модуль а хеадер пока руки не доходили.

Добавлено через 12 минут 20 секунд
Цитата Сообщение от Deicider Посмотреть сообщение
Можно сделать что-то в таком духе: в классе лабиринта реализовать функцию, которая будет выдавать информацию о том месте, где стоит мышь, а именно: в функцию передаются координаты мыши, а возвращается 4 значения (можно реализовать посредством передачи в функцию ссылок, либо посредством битовых операций, устанавливая соответствующие биты в возвращаемом значении), например: в клетке справа - стенка, слева - проход, спереди - стенка, сзади - проход (то есть мышь может сделать шаг либо налево, либо назад). Таким образом мышь сможет получать инфу о лабиринте, не имея доступа к непосредственно массиву.
Большое спасибо! Уже начинаю понемногу разбираться.

Насколько я понимаю, тк. у меня класс лабиринта был динамически создан из главного модуля программы, то чтобы из модуля мыши получить в него доступ (чтобы обращаться к его функциям) нужно знать указатель на созданный класс лабиринта, верно?

Просто както некрасиво чтоли звучит что один модуль не на прямую а через переданный из главной программы обращается к другому модулю. Может их как нибудь по другому "подружить" можно? Хотя наверное подругому дружить лишино смысла.. ведь я не просто должен обращаться к пустому модулю, а к созданному, что размещается в памяти и имеет указатель на его начало в памяти а значит и указатель нужно знать.. Подскажите у кого какие соображенияч пожалуйста.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru