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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сохранить стиль написания кода? 
V
    Опции темы
MaxS
Дата 22.3.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема чисто эстетическая: 
Имеется 2 файла с кодом взаимно включающие друг друга. Они находятся в разных пространствах имен. В первом файле приходится предопределять класс из второго в его namespace. Но тогда в дальнейшем при его написании в первом файле не используется префикс с пространством имен из второго файла. Как сделать чтобы использовался? 

В коде должно быть понятней:
Код

#pragma once
#include "Comp.h"   //включаю второй файл, пространство имен Comp::

 //class Comp::Computer; - неплохо бы было сделать так, но так не компилируется. error C2653: 'Comp' : is not a class or namespace name
namespace ComDev
{
    class Computer;   // тут предопределяю нужный класс
.
.
.
    class LanCard: public CDev
    {
    public:
        LanCard(void) {};
        ~LanCard(void) {};
               ...
    private:
        Computer * comp;   //Основная цель: писать тут Comp::Computer * comp; 
    };
}

PM MAIL   Вверх
mes
Дата 22.3.2009, 13:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

Репутация: 79
Всего: 250



Цитата(MaxS @  22.3.2009,  11:53 Найти цитируемый пост)
//class Comp::Computer; - неплохо бы было сделать так, но так не компилируется. error C2653: 'Comp' : is not a class or namespace name

Код

namespace Comp {
class Computer;
}
namespace ComDev
{
   class LanCard: public CDev
   {
       ...
        Comp::Computer * comp;  

   };
}


или
Код

namespace Comp {
class Computer;
}
namespace ComDev
{
   using Comp::Computer;

   class LanCard: public CDev
   {
       ...
       Computer * comp;  

   };
}





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


Новичок



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

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



Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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