powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться с обявлением класса
6 сообщений из 6, страница 1 из 1
Помогите разобраться с обявлением класса
    #32505200
Фотография TheOne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Скажу сразу, я в С++ новичок (ну или почти новичок) и мне надо свою програму написанную на Дельфи переписать в Borland С++ 6.0 (кстати этали самая последняя ветсия?). Клиент хочет, на случай если меня автобус переедет (не дай бог конечно).

Все вроде идет нормально, но вот я никак не могу понять как мне определить свой класс и обявить его глобально, правда не создавая. Короче есть у меня "Global.cpp", где определены все глобальные функции и пока один класс по типу этого:

class TProgramSettings
{
public:
String FileName;
__fastcall TProgramSettings(String AFileName);
void Load();
void Save();
};

Теперь я хочу прямо после него определить переменную:
TProgramSettings *ProgramSettings;
которую потом в другом модуле хочу создать и дальше использовать повсюду в програме. Т.е. в главное форме я хочу сделать следующее:
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
ProgramSettings = new TProgramSettings("c:\settings.ini");
}

void __fastcall TfrmMain::FormDestroy(TObject *Sender)
{
delete ProgramSettings;
}

Ну и как Вы поняли, это не работает. При компиляции полуаю ошибку:
Public symbol symbol defined in both module module1 and module2

а если определяю так: extern TProgramSettings *ProgramSettings;
то полуаю: Unresolved external symbol referenced from module;

Вопрос: как правильно это сделать?
Спасибо!
...
Рейтинг: 0 / 0
Помогите разобраться с обявлением класса
    #32505254
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
// h
// declare 
extern T *global_object;
...

// cpp
// definition
T *global_object =  0 ;
...
...
Рейтинг: 0 / 0
Помогите разобраться с обявлением класса
    #32505279
Фотография TheOne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. все в одном CPP файле не сделать? Надо обязательно и H файл тоже создать?
...
Рейтинг: 0 / 0
Помогите разобраться с обявлением класса
    #32505282
Фотография TheOne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. все в одном CPP файле не сделать? Надо обязательно и H файл тоже создать?
...
Рейтинг: 0 / 0
Помогите разобраться с обявлением класса
    #32505293
Фотография josia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы хотите использовать класс в двух разных .cpp файлах, нужно поместить его определение в .h файл и #include его в обоих .cpp. Без .h файла можно обойтись только если класс используется только тем файлом где он определен. Удачи.
...
Рейтинг: 0 / 0
Помогите разобраться с обявлением класса
    #32505296
Фотография TheOne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все понял. Большое спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите разобраться с обявлением класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]