Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Divergence
7 / 7 / 2
Регистрация: 19.06.2013
Сообщений: 174
#1

Как использовать собственный класс в структуре struct до определения самого класса в тексте программы

29.06.2013, 23:00. Просмотров 390. Ответов 2
Метки нет (Все метки)

Проблема такая: хочу в структуре одним из элементов сделать класс.
Проблема в том, что эта структура задается в самом начале текста программы, а определение класса идет уже ниже.
Трудности создает то, то эта структура используется в самом классе как public переменная.
Чтобы было понятно вот код:

C++
1
2
3
4
5
6
struct PARAMETRS
{
    int ID; // ID объекта к которому принадлежит вершина
    int adress; // Номер точки в общем массиве вершин
    ClassBufer* balk; //Определение указателя на класс
};
Само определение класса ниже по коду:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class ClassBufer // БУФЕР ФИЗИЧЕСКИХ ОБЪЕКТОВ НА ЭКРАНЕ
{
private:
            
public:
    int C_N; //Число вершин в буфере
    PARAMETRS* C_PARAMETRS;
    CUSTOMVERTEX* C_OBJ;
    ClassBufer(int n); //Конструктор, создаем буфер на n вершин
    ~ClassBufer(); //Деструктор
static void AddObject(ClassBufer* clbf, CUSTOMVERTEX* obj, int id,int begin,int count);
static void CopyClassBufer(ClassBufer* to, ClassBufer* from, int N);
};
Отсюда вопрос: как мне исхитриться, не плодя лишние структуры, чтобы добавить экземпляр класса в описание структуры? В случае с функциями мы используем прототип, а что делать с классом - я не знаю...
Буду благодарен за любую помощь! Спасибо =)

p.s. Вот ошибки, которые выдает компилятор:
error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2013, 23:00
Ответы с готовыми решениями:

Составить программу для определения самого длинного слова в тексте, в котором нет цифр.
Составить программу для определения самого длинного слова в тексте, в котором...

Оставить все как есть || использовать парсер xml || или использовать struct
Собственно имеется код... #include <io.h> #include <string> #include...

Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и п
Определить класс-строку. В класс включить два конструктора: для определения...

Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и путем копир
Всем привет, помогите пожалуйста, я уже всю голову сломал, не знаю как решить...

Как правильно использовать struct?
Написал небольшую, глупенькую программку, но столкнулся с проблемой заполнения...

2
iv-a
15 / 15 / 8
Регистрация: 25.06.2013
Сообщений: 63
29.06.2013, 23:16 #2
напишите перед структурой вот это:
C++
1
class ClassBufer;
я точно не знаю как это называется. но работает
1
Divergence
7 / 7 / 2
Регистрация: 19.06.2013
Сообщений: 174
29.06.2013, 23:25  [ТС] #3
Цитата Сообщение от iv-a Посмотреть сообщение
напишите перед структурой вот это:
C++
1
class ClassBufer;
я точно не знаю как это называется. но работает
Спасибо большое!
Это было так очевидно, а я не догадался =(
Теперь все работает)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2013, 23:25

Можно ли создать объект класса с таким же именем как у самого класса?
Можно ли создать объект класса с таким же именем как у самого класса? Ну или...

ООП в VBA: Можно ли использовать методы класса внутри его самого
Интересует: является ли это хорошим стилем программирования, или это приведет к...

Изменение ссылки на класс внутри самого класса
У меня есть класс. При инциализации он должен зайти в "хранилище объектов",...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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