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

Как поместить в STL-контейнер экземпляры разных классов? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Multiple definition: почему компилятор ругается на единственную функцию, используемую в обоих source-файлах? http://www.cyberforum.ru/cpp-beginners/thread1800877.html
Пихаю хедер в 2 сурсца разных классов. Компилятор ругается на единственную функцию, которую я использую в обоих сурсцах. #ifndef LIB #define LIB void func() {} #endif // LIB Файл: A.cpp
C++ Почему не работает cout в перегруженной функции? Всем привет. Есть простое заданеие из первых уроков учебника Шитдта о перегрузке функции. Все компелится и работает если бы не одно НО. В функции с аргументами и выходными данными двойнеой точности не работает строка вывода. Я ей вставляю но он никак не реагирует, только возвращает значение. Вот код. #include <iostream> using namespace std; int min(int a,int b); char min(char a,char b);... http://www.cyberforum.ru/cpp-beginners/thread1800839.html
C++ Исправить ошибку LNK2019: ссылка на неразрешенный внешний символ (InternetCheckConnection и WinAPI)
Создаю простенькое приложение на winapi с кнопкой и полем edit, по нажатию на которую происходит проверка подключения к интернету и вывод результата в поле: if (InternetCheckConnection("http://ya.ru", FLAG_ICC_FORCE_CONNECTION, 0)) { SendMessage(edit, WM_SETTEXT, NULL, (LPARAM)"Соединение с сетью установлено"); } else { SendMessage(edit, WM_SETTEXT, NULL, (LPARAM)"Нет соединения с...
Скопировать файл xlsx формата, в копию внести изменения и сохранить C++
Добрый вечер. У меня есть задача, которая заключается в следующем. Написать консольное приложение, которое скопирует файл xlsx формата, в копию внесет изменения и сохранит. Собственно вот в чем основной вопрос. Как мне это сделать?)) Не прошу сделать за меня. Просто помочь советом и направить. Бесплатных библиотек пока что не смог найти. Если еще короче. Как мне считать данный с файла xlsx...
C++ Найти значение числа Пи по формуле произведения http://www.cyberforum.ru/cpp-beginners/thread1800774.html
Добрый вечер уважаемые программисты!!! Задача довольно таки не сложная но возникли определенные трудности. Описание задачи: Описать функцию Pi(eps), которая находит значение числа Пи по формуле произведения (т.е. по формуле Валлиса): Пи/2 = 2/1*2/3 x 4/3*4/5 x 6/5*6/7 ... с указанной точностью eps. Обратится к функции со значениями точности 0.01, 0.001, 0.0001.
C++ Цикл завершающийся после того, как переменная примет рандомно каждое значение из заданного промежутка Доброго времени суток, господа. Требуется помощь, а именно не знаю как организовать цикл (скорее всего while), чтобы он завершался после того, как переменная-счётчик примет радномно каждое значение из заданного промежутка. Конкретно не могу понять как описать сам цикл. Как сделать радномные значения представляю. подробнее

Показать сообщение отдельно
tapochka
34 / 34 / 8
Регистрация: 25.04.2014
Сообщений: 459
31.08.2016, 23:32     Как поместить в STL-контейнер экземпляры разных классов?
C++
1
2
3
4
std::vector<void*> ve;
        ve.push_back((void*)new int(3));
        ve.push_back((void*)new std::string("hello"));
        std::cout<<*(int*)ve.at(0)<<" "<<*(std::string*)ve.at(1)<<std::endl;
а вообще раз уж пошла такая пьянка:

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
#include<boost/variant.hpp>
 
struct my_struct {
    friend std::ostream& operator<<(std::ostream& os, my_struct& t) {
        os<<"my_struct";
        return os;
    }
};
 
struct visit : public boost::static_visitor<>
{
    template<typename T>
    void operator()(T& t) const {
        std::cout<<t<<std::endl;
    }
};
 
int main() {
using variant = boost::variant<std::string, my_struct, int, float>;
        std::vector<variant> ve;
        ve.push_back(2.f);
        ve.push_back(1);
        ve.push_back(std::string("hello"));
        ve.push_back(my_struct{});
        std::for_each(std::begin(ve), std::end(ve), [=](auto el) {boost::apply_visitor(visit(), el);});
}
 
Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru