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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Stasqw
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 4
#1

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

13.05.2011, 20:56. Просмотров 1225. Ответов 5
Метки нет (Все метки)

Создайте класс matrix полем класса будет массив 10 на 10. Конструктор должен позволять программисту определить реальный размер массива(допустим, сделать его меньше, чем 10 на 10. Вот фрагмент функции main(), которая работает с таким классом:
matrix m1(8,4);
int temp = 1234;
m1.putel(7,4, temp);
temp=m1.getel(7,4);

Не могу понять как в конструкторе изменять размер массива!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 20:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменение размера массива в конструкторе (C++):

Задание размера и инициализация массива указателей в конструкторе - C++
1) h: SDL_Texture *textures; Как задать размер и инициализировать в конструкторе? Если пишу так: SDL_Texture *textures; ...

Изменение размера массива - C++
Допустим в main-е я объявил указатель определенного типа и создал переменную int size, затем адрес указателя и переменной size передаю...

Изменение размера массива - C++
Подскажите плиз, как на С++ изменить размер массива, есть например int *pi = new int; А нужно увеличить +1 элемент, не потеряв...

Изменение размера массива - C++
Здравствуйте. Я хочу написать массив в который записываются введенные данные. Массив должен изменять свой размер в зависимости от кол-ва...

Изменение размера массива - C++
Как без использования функций изменить размер массива? int x=10; int m1; int m2; int m3; iny k = 0; for (int i = 0; i < x: i...

Изменение размера динамического массива - C++
вводится числовой массив неизвестной длинны, каждое число заносится в динамический массив. using namespace std; int main() { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 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
В астрале
Эксперт С++
7971 / 4733 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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];
Так что для решения этой задачи вам придется, прочитать про указатели.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2011, 09:02
Привет! Вот еще темы с ответами:

Изменение размера динамического массива (resize) - C++
Учусь менять размер динамического массива. Помогите разобраться, пожалуйста. Допустим, есть какая-то структура &quot;читатель библиотеки&quot;. Моя...

Изменение размера динамического массива объектов класса - C++
Всех приветствую! Нужно изменить размер динамического массива, в котором я храню созданные объекты. Делаю это так: Car *spis_temp =...

Инициализация массива в конструкторе - C++
Здравствуйте, я хотел бы узнать, возможна ли инициализация массива в конструкторе без использования циклов? Вот пример конструктора ...

Инициализация элементов массива в конструкторе - C++
Доброго времени суток! Подскажите пожалуйста можно ли инициализировать элементы массива при помощи списка инициализации в конструкторе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.05.2011, 09:02
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru