Форум программистов, компьютерный форум CyberForum.ru

Конверторы типов - сделать двустороннюю конвертацию - C++

Восстановить пароль Регистрация
 
cyberguz
6 / 6 / 0
Регистрация: 01.12.2010
Сообщений: 105
01.03.2012, 14:04     Конверторы типов - сделать двустороннюю конвертацию #1
Есть много структур, объявленных в internal_0.h.
Есть много в принципе соответсвующих типов в base_data_types.h.
Хочу сделать двустороннюю конвертацию, при этом не вводя зависимости (без #include) одних типов от других.

Пока решил сделать как-то так:

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
//internal_0.h
struct data_t
{
//...
};
 
//base_data_types.h
namespace sss {
class Data
{
//...
};
}
 
//converter_0.h
namespace cnv_0 {
struct Data
{
  const data_t& from;
  Data (const data_t& src) : from(src) {}
  operator sss::Data ()
  {
     sss::Data result;
     //...
     return result;
  }
};
struct data_t
{
  const sss::Data& from;
  data_t (const sss::Data& src) : from(src) {}
  operator ::data_t ()
  {
     ::data_t result;
     //...
     return result;
  }
};
}
Подсткажите, насколько такое решение оправдано? Может есть ещё варианты?
Может можно сделать по-удобнее в помошью шаблонов?

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 14:04     Конверторы типов - сделать двустороннюю конвертацию
Посмотрите здесь:

Преобразование типов C++
C++ Неккоректность типов.Как правильно сделать?
C++ Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.
Сделать один метод для 3 разных типов массивов C++
C++ Как сделать один шаблон для разных типов
C++ Строковые потоки. Преобразование типов (как сделать чтобы из строки число полностью преобразовывалось в double без потери чисел)
Преобразоание типов C++
C++ Задача на конвертацию чисел. Перевод километров в мили
C++ Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c++ в паскаль
C++ Преобразование типов
Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов C++
C++ Реализовать конвертацию чисел в текст

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru