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

Указатели в базовом классе на базовый класс и производный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пересечение множеств http://www.cyberforum.ru/cpp-beginners/thread849487.html
Здравствуйте. У меня следующая задача: Даны 2 множества A и B, причем множество B отсортировано по возрастанию. Необходимо получить индексы тех элементов множества А, которые содержатся в множестве В. Как это можно сделать максимально быстро на С++? Пример: A={4 3 5 1 7 0 2}; B={1 2 3}; => Ответ = {2 4 6};
C++ Сравнение векторов Вот имеется вектор <bool> длиной допустим 5, а второй вектор <bool> длиной 200. Вот мне надо сравнить первый вектор с частью второго, зная размер первого. Вот так не получилось if(fs == rediska(nac, nac + k), где k это размер первого вектора, nac это итератор на начало вектора rediska. Подскажите пожалуйста, как сравнивать с частью. http://www.cyberforum.ru/cpp-beginners/thread849456.html
Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, кратных 7 и не кратных 3 C++
1) Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, кратных 7 и не кратных 3. 2)Дан массив R(5). Значения элементов массива ввести с клавиатуры. Найти сумму значений Ri – Rj , где 0<=i <j <=N. Например: Массив R: 10 5 4 3 8 Решение: (10-5)+(10-4)+(10-3)+(10-8)+(5-4)+(5-3)+(5-8)+(4-3)+(4-8)+(3-8). Ответ: 12 Помогите пожалуйста!
Дан одномерный массив,введенный с клавиатуры C++
Дан одномерный массив,введенный с клавиатуры. -Найти сумму неотрицательных элементов в каждой строчке. -Сформировать вектор В из элементов побочной диагонали
C++ Найти минимальный элемент в матрице и посчитать количество отрицательных элементов,расположенных выше главной диагонали. http://www.cyberforum.ru/cpp-beginners/thread849444.html
Напишите программу формирования массива C(n,n) с помощью датчика случайных чисел из промежутка. -Найдите минимальный элемент и поменяйте его с первым элементом массива. -посчитать количество отрицательных элементов,расположенных выше главной диагонали. Добавлено через 28 секунд :cry::cry::cry: Добавлено через 6 минут И еще -Поменять местами столбцы с номерами x1 и x2
C++ хеширование Написать функцию int incl_lexm (char *p_lexm, char type _lexm), которая методом хеширования для строки, адресуемой p_lexm, определяет свободную позицию в таблице tabl, и если в ней отсутствует идентичная строка, то включает ее адрес в таблицу. Возвращается индекс включения адреса или индекс адреса идентичной строки. Помимо адреса включается тип лексемы: идентификатор или константа (признаки "i" и... подробнее

Показать сообщение отдельно
dovskr
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 18
27.04.2013, 16:41  [ТС]     Указатели в базовом классе на базовый класс и производный класс
Собственно я взял скорее идею из этого паттерна, но как его в моём конкретном случае реализовать полностью неясно.
Вот новая версия этих классов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
template <typename T, typename TypeOfTreeElement>
struct CTreeElement
{
public:
    TypeOfTreeElement *Left;
    TypeOfTreeElement *Right;
protected:
    T Data;
public:
    CTreeElement(const T &Element): Data(Element), Left(nullptr), Right(nullptr) {};
    const T &GetData() const {return Data;};
};
 
 
template <typename T>
struct CSearchTreeElement : public CTreeElement<T, CSearchTreeElement<T>>
{
public:
    int Count;
public: 
    CSearchTreeElement(const T &Element) : Count(1), CTreeElement(Element) {};
};


Теперь возникает другая проблема. Когда пользователь будет использовать класс CSearchTreeElement, то тут особых проблем не будет. Но если он будет создавать объект класса CTreeElement, то он обязательно должен будет написать что-то типо
C++
1
CTreeElement<int, CTreeElement<int>>
То есть если пользователь напишет
C++
1
CTreeElement<int, int> A;
то будет очень плохо.
Я так полагаю и от этого можно избавится?
 
Текущее время: 07:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru