![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
chipset
Вроде да |
|||
|
||||
Royan |
|
||||||||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Реально в качестве Base выступает файл CMyDoc, а в качестве Child - CMyFile. CMyDoc должен работать с данными, однако инкапсулировать работу с файлом я решил внутри класса производного от него (что помойму логично). Так вот мне была позарез необходима реализация CMyFile, и видимо действиельно вариант пойти путем предложенным mr.DUDA или sergej.z представляется более логичным, чем тот который придумал я ![]() Моя идея такова:
Добавлено @ 09:22 2cardinal Ошибка будет та же, что и с вариантом изначально предоженным _hunter'ом Добавлено @ 09:26 2Олег М А можно более конкретно указать куда поставить #pragma once ;) На самом деле проблема действительно не имеет решения, так подобные инклюды рекурсивны по своей сути, а внедрение объекта должно происходить уже в обход правил математики, то есть или указателем или ссылкой. Это сообщение отредактировал(а) Royan - 7.7.2004, 09:32 -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
||||||||
|
|||||||||
Олег М |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Royan
Тебе в base.cpp нужно добавить base.h. А в заголовках сделай child.h
// Base.h
Добавлено @ 09:28 Вернее
|
||||||
|
|||||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
дефайны я опускаю для простоты изложения
![]() -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Royan
Ясно. Сейчас первый вопрос посмотрел повнимательнее. Действительно хитро. Оно тебе надо? Используй указатель, или ссылку если сильно хочется.
|
|||
|
||||
BraM's |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 2.7.2004 Репутация: нет Всего: 1 |
Обижаете... седьмой год этим парюсь ![]() |
|||
|
||||
lynx_916 |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 13.6.2004 Где: Молдова Репутация: нет Всего: 1 |
из десяти?
память динамически выделяешь, а про деструктор забыл? -------------------- Who dares, wins. (с) Solid Snake |
||||||||||
|
|||||||||||
Royan |
|
|||
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Не забыл, здесь разбирается кокретный случай а все остальное детели.... -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Указатель или ссылка - это по вкусу
![]() Но одно из двух. Иначе не получится по вышеописсаным причинам. Я просто охотней с указательями работаю.. Всё же, я бы в классе Base поставил указатель или ссылку на Base а не на Child.
Это тоже по вкусу ![]() Плохой тон ИМХО, это когда код не читатеся и вообще плохо понятен. А я например люблю как в JAVA один класс - два файла (*.h, *.cpp). За исключением вспомогательных классов конечно же. PS____________________________________________________ Ах да, в моём примере конечно #endif на конец файла надо ставить. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |