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

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

Войти
Регистрация
Восстановить пароль
 
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
#1

Создание двумерного массива объектов класса Cell - C++

21.05.2012, 16:23. Просмотров 684. Ответов 9
Метки нет (Все метки)

начал изучать ООП, и возник вопрос с разбором программы:

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     Создание двумерного массива объектов класса Cell
Посмотрите здесь:

Создание Массива Объектов класса - C++
Здравствуйте, такая вот проблемка возникла: нужно создать массив B объектов класса TGoods. И далее по определенному значению year...

Создание массива объектов класса - C++
Доброго времени суток! Хотела бы разобраться с вашей помощью в чем-таки состоит моя ошибка. //Создаю класс class TaleGreen { ...

Создание массива объектов класса - C++
Создание массива объектов класса. E2451 Undefined symbol 'myZKH' По-разному уже пробовал-безуспешно. /* Создание...

Создание массива объектов класса - C++
Здравствуйте Подскажите пожалуйста как правилььно создать массив объектов класса, что бы не создавать промежуточный объект класса "Rtd": ...

Создание массива объектов класса через список инициализации в конструкторе композита - C++
Может, просто плохо искала, но не могу найти. Есть класс, атрибутом которого является массив объектов другого класса. Как составить...

Создание объектов класса - C++
class A{ A(string name){ } } int main(){ } Есть класс с конструктуром, я понимаю что чтобы создать новый объект...

Создание/удаление объектов класса - C++
Имеется следующий код: cow.h #ifndef COW_H #define COW_H class Cow { private: char name; char * hobby;

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
21.05.2012, 16:32     Создание двумерного массива объектов класса Cell #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     Создание двумерного массива объектов класса Cell #3
Cell board[8][8] - двумерный массив, хранящий объекты Cell.
#define EMPTY 0x00 - это макрос. Это значит, что если в программе встретится слово EMPTY, компилятор автоматически заменит его на шестнадцатеричную целочисленную константу 0x00.
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 16:37  [ТС]     Создание двумерного массива объектов класса Cell #4
понял! мне нужно изменить программу, чтобы содержалось не 2 класса, а один! к какому лучше свести? я так понимаю, что к Cell?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 16:42     Создание двумерного массива объектов класса Cell #5
char - простой тип, хранящий один символ, соответственно char board[8][8] - массив символов 8 на 8.
Cell - это класс, т.е. объявленный пользователем тип. Он может хранить внутри себя простые типы, такие как char, а также функции.
truktarushkin
0 / 0 / 0
Регистрация: 21.05.2012
Сообщений: 10
21.05.2012, 17:07  [ТС]     Создание двумерного массива объектов класса Cell #6
более менее ситуация прояснилась, вообще класс Cell у меня отвечает за состояние клетки, а класс board - это доска(шашки). в данной ситуации что хранится в Cell board[8][8]? клетка?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 17:28     Создание двумерного массива объектов класса Cell #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  [ТС]     Создание двумерного массива объектов класса Cell #8
а клетки - это символы?
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
21.05.2012, 20:22     Создание двумерного массива объектов класса Cell #9
Клетки - это такие абстрактные вещи, которые имеют свойства клеток
Но вообще, класс "клетка" (Cell) содержит в себе символьное поле, следовательно, это, в какой-то части символ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2012, 02:16     Создание двумерного массива объектов класса Cell
Еще ссылки по теме:

Создание класса абстрактных объектов - C++
Добрый день/утро/вечер. Возник вопрос,скорее теоретического характера. Есть задание реализовать классы вектор и матрица абстрактных...

Создание объектов класса пользователем - C++
К примеру простой класс: class Test { private: int year; public: void SetValue(int yr) { year = yr; ...

Автоматическое создание объектов класса - C++
Только начал знакомится с классами С++ и возник вопрос. Возможно есть более элегантное решение этой ситуации, но я пока делаю так, как...

Создание класса-агрегата объектов - C++
Есть класс TString являющийся агрегатом объектов класса TSymb Как написать конструктор TString при этом по его параметру-входной строке...

Создание двух объектов класса Employee - C++
Напишите программу с использованием класса Emloyee, два объекта класса Employee, устанавливает значения членов itsAge, itsYearOfService, и ...


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

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

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