0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 15
|
||||||
1 | ||||||
Создать шаблон класса, порождающий динамические одномерные массивы21.01.2015, 11:59. Показов 4905. Ответов 9
Метки нет (Все метки)
. Дано: число N и последовательность a1, a2, … aN
Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные и т.д.). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива, согласно заданному алгоритму. (a1*a1), (a1*a2), …, (a1*aN); Правильно ли я сделал? Код
0
|
21.01.2015, 11:59 | |
Ответы с готовыми решениями:
9
Создать шаблон класса, порождающего динамические одномерные массивы с элементами различных типов Создать шаблон класса, порождающего динамические одномерные массивы с элементами различных типов Одномерные динамические массивы Одномерные динамические массивы |
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.01.2015, 13:40 | 2 |
1) везде где так, нужно i < N, иначе чтение за границами выделенной памяти;
2) в функции Mas<T>::set(T) утечка памяти; 3) значение Mas<T>::N не запоминается в Mas<T>::set(T); 4) тип Mas<T>::N должен быть числовым, мы можем объявить массив при T=std::string, например; 5) в конструкторе нужно инициализировать члены класса N и mas.
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 15
|
|
21.01.2015, 13:49 [ТС] | 3 |
а как тогда избежать утечки памяти в функции set?
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
21.01.2015, 13:53 | 4 |
Ergo_Proxy, Очистить память перед тем как выделять новую.
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 15
|
||||||
21.01.2015, 15:24 [ТС] | 5 | |||||
А еще вопрос можно,почему задача нечего не выводит?я изменил функцию print
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.01.2015, 15:34 | 6 |
Ergo_Proxy, потому что на первой же итерации цикла вы выходите из функции (return j).
Если вы хотите вывести в консоль j, то std::cout << j;
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 15
|
|
21.01.2015, 17:44 [ТС] | 7 |
все равно не выводит
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.01.2015, 18:55 | 8 |
Ergo_Proxy, мистика? покажите ваш код полностью.
0
|
0 / 0 / 0
Регистрация: 10.05.2014
Сообщений: 15
|
||||||
21.01.2015, 19:04 [ТС] | 9 | |||||
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.01.2015, 19:17 | 10 |
Ergo_Proxy, как по-вашему, где инициализируется N и сколько раз выполнится цикл в Mas<T> :: print()?
Перечитайте еще раз, все ли вы выполнили?
0
|
21.01.2015, 19:17 | |
21.01.2015, 19:17 | |
Помогаю со студенческими работами здесь
10
Умножение матриц(динамические одномерные массивы) Динамические одномерные массивы. Удаление и вставка элементов Одномерные динамические массивы. Хочу разобраться в коде Как приравнять динамические одномерные массивы разных размеров друг к другу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |