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

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

Войти
Регистрация
Восстановить пароль
 
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
#1

Динамическое создание структуры - C++

23.01.2014, 14:59. Просмотров 679. Ответов 11
Метки нет (Все метки)

У меня есть h файл в котором описаны структуры. Можно ли его подключить к проекту динамически?
То есть сейчас я подключаю этот файл, компилирую проект и дальше у меня в проекте используется эта структура.
Но дело в том, что этот h файл может меняться, то есть в структуру может быть добавлено поле, можно ли подключить этот файл так, что бы моя скомпилированная программа динамически изменяла и структуру в себе?
То есть что бы автоматически добавлялось новое поле.
(Можно было бы читать измененную структуру из h файла и создавать массив указателей на типы таких полей, как в ней описано, но дело в том, что переменные этой структуры должны отправляться в другую программу именно как структура)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 14:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическое создание структуры (C++):

Структуры. Динамическое выделение памяти - C++
Добрый день! Хочу задать следующий вопрос: typedef struct name { char *name; char *surename; } NAME; void main () { ...

Структуры и динамическое выделение памяти. - C++
Привет, нужна помощь: есть написанная программа, которая работает со структурами, эту программу надо переписать так, чтобы она использовала...

Динамическое выделение памяти для структуры в функции - C++
Объясните не могу понять. На С++ пишу совсем недавно. Суть вопроса, при первом запуске программы происходит проверка на существование...

Динамическое создание переменных - C++
Есть строка введённая с клавиатуры пользователем, к примеру такая: "a+b+c", как создать динамические переменные, допустим типа int a, b,...

Динамическое создание массива - C++
Помогите пожалуйста. Пытаюсь создать массив char* выделяя под него память динамически int x = ptrLast - ptrFirst; char*...

Динамическое создание функций - C++
всем доброго времени суток. меня собственно интересует такой вопрос можно ли в с++ динамически создавать функции?(то есть прописать в коде...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
23.01.2014, 15:10 #2
klynxe, диррективы препроцессора, которым вы подключаете заголовочники, выполняются до этапа компиляции Так что нет Вы хотите чтобы скомпилированная программа изменяла свой исходник и перекомпилировала себя?) что-то из разряда фантастики
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
23.01.2014, 15:33 #3
не знаю я правильно ли вас понял...
...можно создать класс с этой структурой, использовать открытое наследование, и переопределять структуру в производных классах...таким образом работая с указателями на базовый класс можно будет работать с разными классами и разными структурами...
1
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
24.01.2014, 11:25  [ТС] #4
Цитата Сообщение от dzrkot Посмотреть сообщение
не знаю я правильно ли вас понял...
...можно создать класс с этой структурой, использовать открытое наследование, и переопределять структуру в производных классах...таким образом работая с указателями на базовый класс можно будет работать с разными классами и разными структурами...
Вроде правильно поняли, а можно маленький пример, я чего-то плохо это представляю...
Цитата Сообщение от dzrkot Посмотреть сообщение
переопределять структуру в производных классах
Это как?
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
24.01.2014, 11:55 #5
ну к примеру создавать структуры виртуальными методами
да и вообще просто переопределять

Добавлено через 18 минут
Цитата Сообщение от klynxe Посмотреть сообщение
Это как?
это в каждом классе будет своя структура, отличная
1
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
24.01.2014, 12:14  [ТС] #6
Но я не знаю какая у меня может стать структура, то есть мне надо прочитать ее из файла и сдеалать такую же, по описанию.
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
24.01.2014, 12:21 #7
ну... я бы тогда считывал строку как символьную, потом разбивал на слова и сохранял в массиве слов, для каждой строки был бы массив который содержал по указателю на слово, а там уже разбивать на данные итп итд как угодно
0
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
24.01.2014, 12:42  [ТС] #8
Немного не понял, допустим у меня в структуре
C++
1
2
3
int a;
char b;
long c;
Как мне создать структуру с такими полями?

Добавлено через 2 минуты
То есть надо динамически создать поле 1 типа (int), поле 2 типа (char), поле 3 типа (long) и объединить их в одну структуру
0
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
24.01.2014, 13:04 #9
Какова вообще ваша задача в целом?
Почему обязательно структуры?
1
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
24.01.2014, 13:28  [ТС] #10
В целом я работаю с БД (RDMServer), (общение с ней через функции, а не через SQL)
БД имеет определенную структуру и для записи какого-то экземпляра я вызываю функцию (встроенную в БД), в которую передаю указатель на структуру, а структуры описаны в h файле, который генерируется при создании БД и при внесении в нее изменений. То есть я могу вызвать функцию, которая в этой БД добавит поле (и т.д.) для определенной записи, но после этой функции изменяется и h файл, который у меня изначально подключен и используется, то есть в нем изменяется описанная структуру, которую я раньше использовал, и теперь при отправке в БД экземпляра, я отправляю его все еще по старой структуре, которой моя программа скомпилирована, а БД ожидает уже новой структуры, которую она перезаписала в h файл
Как-то так

Как результат, не совпадают новая и старая структуры, из-за чего данные неверно обрабатываются в БД (функции описаны в библиотеке поставляемой с БД)
0
0x10
2464 / 1636 / 238
Регистрация: 24.11.2012
Сообщений: 4,029
24.01.2014, 13:38 #11
klynxe, нужно выкатывать свежую версию приложения вместе с обновлением схемы БД, это самое прямое решение в данном случае.
1
klynxe
10 / 10 / 4
Регистрация: 07.09.2012
Сообщений: 542
24.01.2014, 13:54  [ТС] #12
Цитата Сообщение от 0x10 Посмотреть сообщение
klynxe, нужно выкатывать свежую версию приложения вместе с обновлением схемы БД, это самое прямое решение в данном случае.
Самое простое я знаю, интересно без перекомпиляции
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2014, 13:54
Привет! Вот еще темы с ответами:

Динамическое создание компанентов - C++
Возможно я повторюсь, но я пролистал форум а ответа на свой вопрос не нашел, хотя как-то видел. Ну да ладно ... Проблема состоит в...

Динамическое создание матрицы - C++
Как сделать ввод n и m с клавиатуры? (размер матрицы) #include "stdafx.h" #include "conio.h" #include "windows.h" #include...

Динамическое создание файлов. - C++
Очень нужен пример такой на С/С++ (поф,ибо у меня DEV-C++).Кто поможет ?:( ЗЫ: Вылетает Unhandled Win32 exception =_= в моем примере

Динамическое создание объекта класса - C++
Примерно что должно получится: #include <iostream> #include <string> using namespace std; class student { string name; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.01.2014, 13:54
Ответ Создать тему
Опции темы

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