Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 21

Использование пространства имен

10.04.2013, 08:50. Показов 2102. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заголовочный файл с осн функциями двунаправленного списка.Нужно построить на его основе стек и очередь с обобщенным интерфейсом т.е названия функций одинаковое.Для этого нужно использовать естественно namespace.вот и вопрос как их тут расставить? допусти namespace stack и queue.просто внутри структуры нельзя а захватывая структуру у меня не получалось=( Как сделать стек и дек я знаю это рассказывать не надо)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once 
#define LISTNULL (Element*)-1 
 
 struct Element                              // элемент списка 
 { 
  Element* Prev;                             // указатель на предыдущий элемент 
  Element* Next;                             // указатель на следующий элемент 
  void*    Data;                             //  данные  
  Element(Element* prev, void* data,  Element* next) // конструктор
  {
   Prev = prev;
   Data = data;
   Next = next;
  }
  Element* GetNext(){return Next;};          // получить следующий
  Element* GetPrev(){return Prev;};          // получить предыдущий
  
  }; 
 static Element* NIL = LISTNULL;              // обозначение пустоты 
 enum Permit                                 // общие разрешения на операции со списком
 {
   ALL = 0,               // all permit
   NOINSERT =1,           // lock INSERT
   NODELETE =2,           // lock DELETE
   NOUPDATE =3            // =  NOINSERT NOUPDATE             
  };
 struct Object                              // блок управления списком 
 {
  Element* Head;                            // указатель на начало списка
  Object(){Head = NULL;};
  Element* GetFirst(){return Head;};        // получить первый элемент списка 
  Element* GetLast();                       // получить последний элемент списка
  Element* Search (void* data);             // найти  первый элемент по данным 
  int Count();//сделано                         // подсчет элементов
  Element* FindMax(Element* data);
  bool Insert(void* data);                  // добавить элемент в начало
  bool InsertEnd(void* data);//сделано           // добавить в конец !!!!!!!!!!!!!!
  bool Delete(Element* e);                  // удалить по адресу элемента 
  bool Delete(void* data);                  // удалить первый по данным
  static Permit Perm;                       // разрешение на операции -- общее для всех экземпляров Object (static !!!)
  bool isLockInsert(){return (Perm == NOINSERT || Perm == NOUPDATE);};     // блокировано добавление ? 
  bool isLockDelete(){return (Perm == NODELETE || Perm == NOUPDATE);}      // блокировано удаление ? 
  bool isListEmpty(){return (Head==NULL);};
  void DeleteList();//                      // очистить список !!!!!!!!!!!!!
 
 };
 Object Create();                           // создать список
    bool AppendList(Object& to, const Object& from);  //добавить !!!!!!!!!!!!!!
    bool CopyList(Object& to, const Object& from);   // копировать !!!!!!!!!!!!!!!!
 
#undef LISTNULL
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2013, 08:50
Ответы с готовыми решениями:

Использование пространства имен
Написать программу, использующую описанные типы данных: инициализация переменных (ввод пользователя), выполнение действий (в зависимости от...

Использование пространства имен
Добрый день! Вопрос такой: Для стандартной библиотеки обычно используется пространство имен std, которое подключается через...

Использование string в многофайловом приложении. Необходимость подключения библиотек и пространства имён
Здравствуйте. Есть заголовочный и cpp файлы. В заголовочном пишу#ifndef MODEL_H #define MODEL_H struct Vertex { float x, y, z; ...

5
36 / 38 / 7
Регистрация: 01.06.2011
Сообщений: 237
10.04.2013, 09:06
сделать namespace на все, в этом namespace будут уникальные объявления
0
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 21
10.04.2013, 10:41  [ТС]
на все не могу т.к список должен создаться один а функция create привязана к object и получается что я не могу перегрузит эту функцию иии пичаль(

Добавлено через 1 минуту
или мне вообще ВСЕ в namespace и консруктор итд?
0
36 / 38 / 7
Регистрация: 01.06.2011
Сообщений: 237
10.04.2013, 11:02
да, вообще все. а если где то нужно использовать описанный класс внутри namespace , то писать
имя_nampespace::класс
имя_nampespace::функция
0
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 21
10.04.2013, 14:58  [ТС]
Для всех выходных данных обновления не требуется.
1>6laba.obj : error LNK2019: ссылка на неразрешенный внешний символ "struct stack::Object __cdecl stack::Create(void)" (?Create@stack@@YA?AUObject@1@XZ) в функции _wmain
1>C:\Users\NetBook\Documents\Visual Studio 2010\Projects\6laba\Debug\6laba.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>

Добавлено через 15 минут
без namespace все ок.помогите что не так( в имя всунул все кроме дефайнов
0
36 / 38 / 7
Регистрация: 01.06.2011
Сообщений: 237
10.04.2013, 17:06
C++
1
2
3
4
5
6
7
8
9
10
11
namespace XXX{
  class CCC{
    public:
      void fff();
  };
}
 
int main(){
   XXX::CCC myobj;
   myobj.fff();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2013, 17:06
Помогаю со студенческими работами здесь

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные?
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

Пространства имён с++
Может я отсталый совсем, но перечислите пожалуйста все известные вам пространства имён в с++

Использование имен предопределенных объектов в качестве имен переменных
Есть код: #include <iostream> using namespace std; void func() { int cout; cout <<cout <<endl; }

Подключение пространства имён
Подскажите пошагово как в VS2010 создать dll, подключив такие .NET пространства имён как #using <System.dll> using namespace std;...

Пространства имен в Эклипс
Добрый день. Переношу свой проект из IAR на Eclipse+Yagarto(gcc 4.6.2) Подскажите, из-за чего в hpp модулях проекта может не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru