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

Контейнер из неоднородных элементов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ wxDev, не работает inp и outp http://www.cyberforum.ru/cpp-beginners/thread314282.html
Подскажите пожалуйста, какую библиотеку в wxDev используют функции inp и outp для работы с портами? conio.h и dos.h не помагают. Пишет: undefined reference to `outp' undefined reference to `inp' Добавлено через 1 час 12 минут подозреваю что этих функций нет, тк это работает только под дос. :( Следовательно, вопрос: а можно ли под win7 работать с портами, в частности...
C++ Битовое представление Здравствуйте! Напишите пример функции, которая принимает целое число и выводит его битовое представление . int Bit_Representation (int int_number) Спасибо! http://www.cyberforum.ru/cpp-beginners/thread314274.html
Срочно!!! Бок с массивом C++
Надо создать массив с условием: -что его можно вводить(при выполнение программы) -а потом считывать сколько элементов в нем(и сразу выводится на экран) З.Ы. Вроди бы не сложно а вот не могу
C++ Массивы в С++
В одномерном массиве, состоящем из 10 целых элементов, вычислить:сумму элементов массива, расположенных между первым и вторым отрицательными элементами. Добавлено через 1 минуту #include <conio.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <windows.h> void main(void) { int a;
C++ Определить ,является ли граф связным.Граф задан списком связей http://www.cyberforum.ru/cpp-beginners/thread314261.html
Определить ,является ли граф связным.Граф задан списком связей. как вобще делаются графы на С???????? не понимаю как делать....(((
C++ Написать функцию, которая сортирует вещественный массив методом Хоара Написать функцию ,которая сортирует вещественный массив методом Хоара по убыванию суммы разности тангенса и котангенса элементов на С не понимаю как делать((( подробнее

Показать сообщение отдельно
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
06.06.2011, 18:03     Контейнер из неоднородных элементов
Цитата Сообщение от eugrita Посмотреть сообщение
Хочу спросить опытных людей: а на хрена вообще вся эта конструкция - неоднородный контейнер любого вида? Где применяется?
очевидно там где содержимое может быть разных типов

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <string>
#include <typeinfo>
#include <cassert>
#include <vector>
#include <iostream>
 
enum type{E_STRING, E_DOUBLE};
 
class Data
{
public:
   virtual type getType() const = 0;
protected:
   type m_type;
};
 
template <class T>
class Element : public Data
{
public:
   Element( const T& data ) : m_data( data )
   {
      if( typeid(double) == typeid(T) ) 
         m_type = E_DOUBLE; 
      else if ( typeid(std::string) == typeid(T) ) 
         m_type = E_STRING; 
      else
         assert(!"invalid type!");
   }
   virtual type getType() const
   {
      return m_type;
   }
   T getValue()
   {
      return m_data;
   }
private:
   T m_data;
};
 
int main()
{
   std::vector<Data*> v;
   for( int i=0;i<5;++i )
   {
      v.push_back( new Element<double>(3.14 * i) );
   }
 
   v.push_back( new Element<std::string>("hello") );
   v.push_back( new Element<std::string>("world") );
   
   typedef std::vector<Data*>::iterator VIt;
   
   for( VIt it = v.begin(); it != v.end(); ++it )
   {
      if( E_STRING == (*it)->getType() )
         std::cout << 
           dynamic_cast<Element<std::string>*>(*it)->getValue()
                   << " ";
      else 
          std::cout << 
           dynamic_cast<Element<double>*>(*it)->getValue()
                   << " ";
   }
}
http://liveworkspace.org/code/ce305f...2c7af1d306621d
тут конечно ограничение ++'са, что возвращаемое значение должно быть известно на момент компиляции
 
Текущее время: 19:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru