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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с памятью http://www.cyberforum.ru/cpp-beginners/thread610026.html
Нужно ривести пример использования операторов new и delete для выделения памяти под двумерный массив и освобождения памяти двумерного массива размерности N*K. Помогите срочно друзья!!!
C++ Упорядочить матрицу Упорядочить строки двумерной матрицы, содержащей натуральные числа с сростання количества простых чисел, встречающихся в записи цифр этих чисел. Добавлено через 10 минут Например матрица: 12 3... 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"; ...
C++ генератор случайных чисел
как реализовать генератор случайных чисел? чтобы можно было вводить два числа(например 56 и 519), и случайное число генерировалось из множества от 56 до 519 (в среде visual studio C++,...
C++ копирование обьекта http://www.cyberforum.ru/cpp-beginners/thread610000.html
Такой вопрос: Есть родительский класс Footman, от него наследуются еще 2 класса Далее обьявляется указатель на родительский класс Footman *pointer = new Footman(); Вопрос: можно ли при...
C++ Маска байта Есть переменная uint8_t, например, uint8_t red;, маска uint32_t, например, uint32_t RedMask;, нетипизированный указатель, например, void *p; и переменная типа uint8_t, хранящая фактический размер... подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 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;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru