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

Как записать два разных класса в массив? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить среднее арифметическое каждого столбца и максимум и минимум каждой строки двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1494304.html
Дан двумерный массив 5x6. Определить среднее арифметическое каждого столбца, определить максимум и минимум каждой строки
C++ Вычислить значения функции на заданном промежутке с заданным шагом написать программу вычисления функции на заданном промежутке с шагом 0.2 и построить график этой функции. у={e}^{(-(x+3))} при x>3.61 y=1 при 0\leq x\leq 3.61 y=0.5x при x<0 #include <iostream> #include<iostream.h> #include<conio.h> #include <cmath> using std::cout; http://www.cyberforum.ru/cpp-beginners/thread1494261.html
Вычислить сумму конечного ряда C++
написать программу вычисления суммы конечного ряда. значения x и n вводятся с клавиатуры \sum_{k=1}^{n}((-1)^k*(x+3))/k!
C++ MS Visual Studio 2013 Express при компиляции программа открывается и сразу закрывается
Вот код: #include <iostream> int main() { std::cout << "Hello" << ; system("pause"); return 0; }
C++ Dll. Создание и использование http://www.cyberforum.ru/cpp-beginners/thread1494241.html
Добрый вечер! Не порекомендуете хорошей литературы по созданию и использованию dll библиотек в Windows?
C++ функции в С++ #include <iostream> #include <cmath> #include <iomanip> using namespace std; void Vvod(int* arrA,int n) { for(int i=0;i<n;i++) { cout<<"arrA= "; подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11819 / 6798 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
07.07.2015, 11:19     Как записать два разных класса в массив?
Бред, конечно, но
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
#include <iostream>
#include <vector>
#include <string>
 
 
template < typename Type1 , typename Type2 >
struct pointer_pair
{
 
    pointer_pair ( Type1 * pFirst )
        : first ( pFirst )
        , second ( nullptr )
    {
    }
 
    pointer_pair ( Type2 * pSecond )
        : first ( nullptr )
        , second ( pSecond )
    {
    }
    Type1 * first ;
    Type2 * second ;
};
 
 
template < typename T1, typename T2 >
std::ostream & operator << ( std::ostream & stream , const pointer_pair<T1,T2> & obj )
{
    if ( obj.first )
        stream << *obj.first ;
    else if ( obj.second )
        stream << *obj.second ;
    return stream ;
}
 
 
template < typename T >
std::ostream & operator << ( std::ostream & stream , const std::vector<T> & vec )
{
    for ( const auto & e : vec )
        stream << e << '\n' ;
    return stream ;
}
 
 
 
int main()
{
    std::vector < pointer_pair < std::string , double > > vec ;
    vec.push_back ( { new std::string("my string 1") } ) ;
    vec.push_back ( { new std::string("my string 2") } ) ;
    vec.push_back ( { new double(3.14) } ) ;
    vec.push_back ( { new std::string("my string 3") } ) ;
    vec.push_back ( { new double(-0.23) } ) ;
    std::cout << vec << std::endl ;
    //тут delete
}
http://rextester.com/IHYTZ35422
 
Текущее время: 14:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru