Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массив класса 
V
    Опции темы
admsasha
Дата 23.2.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



есть файл вида
1 qwe rty 
32 asd zxc
4 sd fgh

вообщем уникальный номер, и несколько каких либо полей.

Мне надо создать стуктуру (class ?) с помощью фунции загнать в стуктуру и из другой части программы вызывать данные уже через эту стуктуру... 

Класс я создают так, в myprog.h

class spisoc{
  private:
      char a[10];
      char b[10];

}
 
из одной части программы

пишу
int main(){
   spisoc sp[10];

   <тут чтение файла и распарсивание на части>
   sp[nomer].a=a;
   sp[nomer].b=b;
}

А вот как теперь из другой части программы (из другой функции) вызвать значения ?


 smile 






PM MAIL WWW ICQ Jabber   Вверх
JackYF
Дата 23.2.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



Передавай в функцию параметр класса spisok. Или массив списков.
Или я чего-то не понял?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
admsasha
Дата 23.2.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



т.е. каждой функции которой требуется эта база передавать ссылку на базу ??

Ведь можно создать структуру из которой при необходимости могут брать данные от всех частей кода, или процедур просто объявив .h в декларация ? 

P.S. проект будет из нескольких файлов.

Добавлено @ 19:58 
типа так, то так не работает...

test.h
struct spisoc {
   public:
    int a;
    int b;
}


test.cpp
#incude "test.h"
#incude "test2.h"
int main(){
   spisoc  sp[10];
   sp[1].a=1;

   foo();
}
i

test2.cpp
#incude "test.h"
int foo(){
   spisoc  sp[10];
   сдесь должен быть вывод sp[1].a, но вывод будет "0"
}

Два файла собираются в один файл....

-----------
примерно так... только не передавать параметр, а как то подлючаться... чтоб через class модуль или еще как то...



PM MAIL WWW ICQ Jabber   Вверх
JackYF
Дата 23.2.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



а где твой test2.h? (в смысле, его код в студию)

Добавлено @ 20:07 
Ну, в принципе...
1) перед main()
Код

spisok sp[10];


2) Во всех остальных файлах .cpp, которые используют:
Код

extern spisok sp[10];


Добавлено @ 20:09 
 smile 
извините за оффтоп...

Странно, такое ощущение, что я 1 на этой ветке сижу...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
admsasha
Дата 23.2.2007, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



Цитата(JackYF @  24.2.2007,  03:06 Найти цитируемый пост)
а где твой test2.h? (в смысле, его код в студию)


тама просто
int foo();


Цитата(JackYF @  24.2.2007,  03:06 Найти цитируемый пост)
Ну, в принципе...

Спасибо, попробую

Добавлено @ 20:17 
Цитата(JackYF @  24.2.2007,  03:06 Найти цитируемый пост)
extern spisok sp[10];

А если сразу в test.h написать ? и просто декларировать его в каждом cpp ?

Добавлено @ 20:23 
Спасибо !

вообщем то что и хотел, теперь можно коротко объяснить почему именно так ?
и можно ли extern  объявить только в одном .h и просто вызывать его ?
PM MAIL WWW ICQ Jabber   Вверх
GrayCardinal
Дата 23.2.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Спокойствие, только спокойствие  smile  smile  smile  smile 



--------------------
PM MAIL WWW   Вверх
admsasha
Дата 23.2.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



всё, разобрался, еще раз спасибо ! тема пока что закрыта :-)
PM MAIL WWW ICQ Jabber   Вверх
GrayCardinal
Дата 24.2.2007, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Цитата

тема пока что закрыта 

Аминь.


--------------------
PM MAIL WWW   Вверх
admsasha
Дата 24.2.2007, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 28.1.2005

Репутация: 1
Всего: 6



Подскажите еще, как сделать динамический массив из данного класса ?
PM MAIL WWW ICQ Jabber   Вверх
GrayCardinal
Дата 24.2.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



 smile  
Меня прет, меня прет, потому-что новый год !!!  smile  smile  smile 

smile 


--------------------
PM MAIL WWW   Вверх
JackYF
Дата 24.2.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



из какого класса? spisok?

тогда std::vector<spisok>


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.