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

Изменение размера массива в конструкторе - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Stasqw
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 4
13.05.2011, 20:56     Изменение размера массива в конструкторе #1
Создайте класс matrix полем класса будет массив 10 на 10. Конструктор должен позволять программисту определить реальный размер массива(допустим, сделать его меньше, чем 10 на 10. Вот фрагмент функции main(), которая работает с таким классом:
matrix m1(8,4);
int temp = 1234;
m1.putel(7,4, temp);
temp=m1.getel(7,4);

Не могу понять как в конструкторе изменять размер массива!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.05.2011, 21:01     Изменение размера массива в конструкторе #2
Цитата Сообщение от Stasqw Посмотреть сообщение
Создайте класс matrix полем класса будет массив 10 на 10. Конструктор должен позволять программисту определить реальный размер массива(допустим, сделать его меньше, чем 10 на 10. Вот фрагмент функции main(), которая работает с таким классом:
matrix m1(8,4);
int temp = 1234;
m1.putel(7,4, temp);
temp=m1.getel(7,4);
Не могу понять как в конструкторе изменять размер массива!
что за бред, наверное имеется ввиду по умолчанию создавать 10х10, если в конструктор не переданы параметры

C++
1
2
3
4
5
6
7
8
9
10
11
12
class matrix {
    int ** matr;
    unsigned rows;
    unsigned cols;
public:
    matrix(unsigned row = 10, unsigned col = 10) : rows(row), cols(col), matr(new int * [row])
    {
    for(unsigned i = 0; i < rows; i++)
        matr[i] = new int [cols];
    }
    ...
};
Stasqw
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 4
13.05.2011, 21:07  [ТС]     Изменение размера массива в конструкторе #3
А что такое **,просто я недавно изучаю С++
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.05.2011, 01:34     Изменение размера массива в конструкторе #4
Stasqw, Указатель на указатель
Stasqw
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 4
14.05.2011, 07:49  [ТС]     Изменение размера массива в конструкторе #5
а можно без указателей решить эту задачу?Указатели я еще не изучал.
adico
13 / 13 / 1
Регистрация: 24.02.2011
Сообщений: 64
14.05.2011, 09:02     Изменение размера массива в конструкторе #6
Без указателей не получится, потомучто нельзя создавать массив, размером которого является неконстантное значение.
Например так делать нельзя.
C++
1
2
int size;
int mass[size][size];
Так что для решения этой задачи вам придется, прочитать про указатели.
Yandex
Объявления
14.05.2011, 09:02     Изменение размера массива в конструкторе
Ответ Создать тему
Опции темы

Текущее время: 16:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru