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

Наследование шаблона - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с памятью http://www.cyberforum.ru/cpp-beginners/thread610026.html
Нужно ривести пример использования операторов new и delete для выделения памяти под двумерный массив и освобождения памяти двумерного массива размерности N*K. Помогите срочно друзья!!!
C++ Упорядочить матрицу Упорядочить строки двумерной матрицы, содержащей натуральные числа с сростання количества простых чисел, встречающихся в записи цифр этих чисел. Добавлено через 10 минут Например матрица: 12 3 45 12 = 6,6-ето количество простых чисел 7 1 2 9 = 3,3-ето количество простых чисел 3 15 21 17=7,7-ето количество простых чисел Вывод: 7 1 2 9 12 3 45 12 http://www.cyberforum.ru/cpp-beginners/thread610024.html
C++ Описать работу программы по русски
#include <iostream> /*выводит слова, которые начинаются и заканчиваются одной и той же буквой*/ #include <string> #include <conio.h> int main() { char str = "zaaz not abba what else"; char* tmpstr = strtok(str," "); /*функция strtok разбить строку на подстроки */
C++ генератор случайных чисел
как реализовать генератор случайных чисел? чтобы можно было вводить два числа(например 56 и 519), и случайное число генерировалось из множества от 56 до 519 (в среде visual studio C++, http://www.randstuff.ru/number примерно такой )
C++ копирование обьекта http://www.cyberforum.ru/cpp-beginners/thread610000.html
Такой вопрос: Есть родительский класс Footman, от него наследуются еще 2 класса Далее обьявляется указатель на родительский класс Footman *pointer = new Footman(); Вопрос: можно ли при перевызове pointer = new Horseman(); скопировать значения в этот обьект ? Добавлено через 19 минут Решение найдено, тему можно удалить
C++ Маска байта Есть переменная uint8_t, например, uint8_t red;, маска uint32_t, например, uint32_t RedMask;, нетипизированный указатель, например, void *p; и переменная типа uint8_t, хранящая фактический размер данных по указателю в битах и равная 16, 24, или 32, например, uint8_t BitPerixel. Требуется взять данные по указателю и с учётом маски скопировать не более восьми бит в переменную red. Если в маске... подробнее

Показать сообщение отдельно
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
20.06.2012, 14:31     Наследование шаблона
я вот к чему. например для класса std::string реализована операция сложения. и ваш базовый класс для массива будет работать со строками. было бы логично воспользоватся возможностью прибавить к массиву строк другую строку, что приведет к сложению к каждому элементу массива этой строки. но в текущей реализации для этого просто Array<std::string> использовать нельзя. Нужно использовать NumericArray<std::string> что выглядит как-то кривовато. Пожно было бы написать одну шаблонную функцию для такого сложения и это бы компилилось в случае, если объекты массива поддерживают операцию сложения

C++
1
2
3
4
5
6
7
8
template <typename T, typename Obj>
Array<T> operator + (const Array<T>& arr, const Obj& obj)
{
    Array<T> result(arr);
    // тут для каждого элемента из массива идет сложение:
    result[i] += obj; // подправил тут. конечно же нужно к result[i] прибавлять
    return result;
}
 
Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru