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

C++ Классы - C++

Восстановить пароль Регистрация
 
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 16:23     C++ Классы #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
#define EMPTY        0x00
typedef char CellType; 
typedef int TurnScore;
typedef char CellState;
class Cell
{
  private:
    char Data;
  public:
    Cell (void);
    void Set(CellType CT); 
....
};
class Board
{
  private:
    Cell board[8][8];
    Cell NullCell;  
  protected:
    .....                 
  public:
Board(void);
...
Cell::Cell(void)     
{ Data = EMPTY; }...
Cell board[8][8]; - это массив какого типа? не понимаю синтаксис, получается переменная класса Board - объект класа Cell? Далее, если Data - это переменная типа char, то EMPTY тоже? вообще, что означает обозначение #define EMPTY 0x00? буду благодарен за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 16:23     C++ Классы
Посмотрите здесь:

C++ Классы
Классы C++
Классы C++
C++ классы с++
Классы в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
21.05.2012, 16:32     C++ Классы #2
Cell board[8][8] - это двумерный массив типа Cell? т.е. пользовательского типа, а именно класса Cell.
#define EMPTY 0x00 - это константа EMPTY хранящая число 0x00.
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 16:36     C++ Классы #3
Cell board[8][8] - двумерный массив, хранящий объекты Cell.
#define EMPTY 0x00 - это макрос. Это значит, что если в программе встретится слово EMPTY, компилятор автоматически заменит его на шестнадцатеричную целочисленную константу 0x00.
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 16:37  [ТС]     C++ Классы #4
понял! мне нужно изменить программу, чтобы содержалось не 2 класса, а один! к какому лучше свести? я так понимаю, что к Cell?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 16:42     C++ Классы #5
char - простой тип, хранящий один символ, соответственно char board[8][8] - массив символов 8 на 8.
Cell - это класс, т.е. объявленный пользователем тип. Он может хранить внутри себя простые типы, такие как char, а также функции.
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 17:07  [ТС]     C++ Классы #6
более менее ситуация прояснилась, вообще класс Cell у меня отвечает за состояние клетки, а класс board - это доска(шашки). в данной ситуации что хранится в Cell board[8][8]? клетка?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 17:28     C++ Классы #7
В board[8][8] хранится 8 строк, в каждой из которых содержится по 8 клеток, т.е. 64 клетки. Грубо говоря, это таблица из клеток, 8 на 8.

Цитата Сообщение от truktarushkin Посмотреть сообщение
понял! мне нужно изменить программу, чтобы содержалось не 2 класса, а один! к какому лучше свести? я так понимаю, что к Cell?
Я бы не советовал вам отказываться от обоих классов, но если имеется необходимость, то можно отказаться от Cell.
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 18:21  [ТС]     C++ Классы #8
а клетки - это символы?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 20:22     C++ Классы #9
Клетки - это такие абстрактные вещи, которые имеют свойства клеток
Но вообще, класс "клетка" (Cell) содержит в себе символьное поле, следовательно, это, в какой-то части символ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2012, 02:16     C++ Классы
Еще ссылки по теме:

C++ Классы в c++
C++ Классы
C++ Классы

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

Или воспользуйтесь поиском по форуму:
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
22.05.2012, 02:16  [ТС]     C++ Классы #10
спасибо за помощь! особое за терпение) разобрался со всем, переделал, получился большой, неуклюжий, неудобный класс... ну, преподу надо, куда деваться)
Yandex
Объявления
22.05.2012, 02:16     C++ Классы
Ответ Создать тему
Опции темы

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