| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > массив класса |
| Автор: admsasha 23.2.2007, 13:43 |
| есть файл вида 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; } А вот как теперь из другой части программы (из другой функции) вызвать значения ? |
| Автор: JackYF 23.2.2007, 19:40 |
| Передавай в функцию параметр класса spisok. Или массив списков. Или я чего-то не понял? |
| Автор: admsasha 23.2.2007, 19:51 |
| т.е. каждой функции которой требуется эта база передавать ссылку на базу ?? Ведь можно создать структуру из которой при необходимости могут брать данные от всех частей кода, или процедур просто объявив .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 модуль или еще как то... |
| Автор: JackYF 23.2.2007, 20:06 | ||||
| а где твой test2.h? (в смысле, его код в студию) Добавлено @ 20:07 Ну, в принципе... 1) перед main()
2) Во всех остальных файлах .cpp, которые используют:
Добавлено @ 20:09 извините за оффтоп... Странно, такое ощущение, что я 1 на этой ветке сижу... |
| Автор: admsasha 23.2.2007, 20:15 |
тама просто int foo(); Спасибо, попробую Добавлено @ 20:17 А если сразу в test.h написать ? и просто декларировать его в каждом cpp ? Добавлено @ 20:23 Спасибо ! вообщем то что и хотел, теперь можно коротко объяснить почему именно так ? и можно ли extern объявить только в одном .h и просто вызывать его ? |
| Автор: GrayCardinal 23.2.2007, 20:43 |
| Спокойствие, только спокойствие |
| Автор: admsasha 23.2.2007, 20:50 |
| всё, разобрался, еще раз спасибо ! тема пока что закрыта :-) |
| Автор: GrayCardinal 24.2.2007, 04:01 | ||
Аминь. |
| Автор: admsasha 24.2.2007, 07:12 |
| Подскажите еще, как сделать динамический массив из данного класса ? |
| Автор: GrayCardinal 24.2.2007, 10:30 |
| Меня прет, меня прет, потому-что новый год !!! |
| Автор: JackYF 24.2.2007, 16:37 |
| из какого класса? spisok? тогда std::vector<spisok> |