![]() |
|
|
![]()
|
|
| фигурист |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
Создаю класс. Читал что принято разделять объявление класса и его реализацию.
Но при использовании созданного класса надо включать его заголовочный файл (#include *.h). А как быть если конструктор объявлен в файле*.cpp, этот файл тоже надо объявлять или нет? |
|||
|
||||
| destrd |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 1.10.2008 Репутация: нет Всего: 4 |
Книжку по Цпп почитайте, так на всякий случай.
--------------------
Some people, when confronted with a problem, think, "I known, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski in comp.lang.emacs |
|||
|
||||
| фигурист |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
Читаю книжку Архангельского, вроде хорошая книга, но иногода возникают вопросы))
Так надо или нет? |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Выкиньте и купите книжку Страуструпа.
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
примерно так:
Добавлено через 1 минуту и 56 секунд что бы вопросов не возникало лучше 2-3 книги разных авторов читать одновременно, вопросов будет меньше. Рекомендую Стивен Прата "Язык программирования C++. Лекции и упражнения" - хороший учебник |
|||
|
||||
| фигурист |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
Продолжаю овладевать техникой написания классов и вот какой возник вопрос:
В файле MyMassive.h, пишем следующее: class MyMassive { public: void MyFunc(void); }; void MyMassive::MyFunc(void) { ShowMessage("This is method of my class!"); } Теперь в приложении файле UTest.cpp пишем: #include "MyMassive.h" //------------------------------------- MyMassive *G; void __fastcall TForm1::Button1Click(TObject *Sender) { G->MyFunc(); { Вариант работает, если реализация функции void MyFunc(void) записана в h-файле (как в приведенном примере). Если реализацию функции прописывать в файле MyMassive.cpp, то компилятор выдает ошибку: [Linker Error] Unresolved external 'MyMassive::MyFunc()' referenced from C:\DOCUMENTS AND SETTINGS\ДИМА\РАБОЧИЙ СТОЛ\ПРОГРАММЫ НА C++\TEST\UTEST.OBJ Подскажите, в чем проблема (или направьте где это объясняется). Заранее спасибо. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| фигурист |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.10.2008 Репутация: нет Всего: нет |
Я так понимаю, что необходимо разделять объявление класса и его реализацию между заголовочным файлом ( к примеру, MyMassive.h) и файлом реализации (к примеру, UTest.cpp). напишите, прав ли я. |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
MyMassive.cpp надо добавить в проект -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |