Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
cyberguz
6 / 6 / 0
Регистрация: 01.12.2010
Сообщений: 105
#1

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

01.03.2012, 14:04. Просмотров 502. Ответов 0
Метки нет (Все метки)

Есть много структур, объявленных в 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;
  }
};
}
Подсткажите, насколько такое решение оправдано? Может есть ещё варианты?
Может можно сделать по-удобнее в помошью шаблонов?

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 14:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конверторы типов - сделать двустороннюю конвертацию (C++):

Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c++ в паскаль - C++
Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c++ в паскаль

Реализовать конвертацию чисел в текст - C++
С клавиатуры вводится размер файла в байтах,например 52128.Записать данный размер текстом в килобайтах/байтах. Пятьдесят килобайт девятьсот...

Задача на конвертацию чисел. Перевод километров в мили - C++
вводится два числа х1(км) и х2(м) необходимо перевести в морские мили (1852м) и ярды х2 футов (0.9144) (так написано в задаче) вот как...

Неккоректность типов.Как правильно сделать? - C++
Приветствую вас уважаемые! Отличный форум,много полезного.) Сразу к делу. Нужен цикл,который выводит послдовательность символов в COM...

Как сделать один шаблон для разных типов - C++
Предположим я реализую некоторый шаблонный класс, в котором, ну ради примера к объектам шаблонного типа (тип, используемый в заголовке...

Сделать один метод для 3 разных типов массивов - C++
Не получается сделать один метод для 3 разных типов массивов... помогите пожалуйста // WorkShablon.cpp: определяет точку входа для...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 14:04
Привет! Вот еще темы с ответами:

Можно ли сделать шаблон функции только для определенных типов? - C++
Например template<typename T> void func(T x){} Где T может быть только int,double и float

Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов. - C++
Буду благодарен! Найти предельные значения для целочисленных типов. Не использовать заранее определенные константы границ типов.

Строковые потоки. Преобразование типов (как сделать чтобы из строки число полностью преобразовывалось в double без потери чисел) - C++
Всем привет я перевожу string в double следующим образом double fromString(const std::string& s) { std::istringstream iss(s); ...

Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов - C++
Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов int или float и возвращают...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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