Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 2
Регистрация: 11.04.2010
Сообщений: 6
1

Динамический массив с задаваемыми индексами

11.04.2010, 15:51. Просмотров 1171. Ответов 3
Метки нет (Все метки)

Привет!
Подскажите, пожалуйста, как создать (для начала одномерный)массив-член класса в динамической памяти и чтобы коэффициенты задавались, желательно на с++ без сторонних библиотек.
Вот пример в коде, примерно как-то так, хотя совсем не такО_о:

Mas.h - файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
namespace xz
{
   сlass Temp;
   class Mas
   {
      private:
         int mN;
         Temp * mTemp;
         //Здесь каким-то чудо образом объявляется массив
         //Temp * mTemp[mN]; ??? //неизвестное число элементов
      public:
         Mas(int theN);
         ~Mas();
   };
}
Mas.cpp - файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "Temp.h"
#include "Mas.h"
using namespace xz;
 
Mas::Mas(int theN): mN(theN)
{
   //здесь какимто чудо образом создается массив
   for(int i=0; i<mN; i++)
   {
      mTemp  = new Temp();
      //mTemp[mN] = mTemp; ???
   }
}
 
Mas::~Mas()
{
   //а здесь этот  массив удаляется
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2010, 15:51
Ответы с готовыми решениями:

Вывести динамический массив вместе с индексами!
Подскажите пожалуйста!Есть созданий динамический массив, к которому можно обращаться по индексу....

Динамический массив с отрицательными индексами
Мне нужен динамический массив с отрицательным порядком элементов, нигде не написано как его...

Массив с задаваемыми в процессе работы пределами
Можно ли как-то менять пределы массива в запущенном приложении? Т.е. начало и конец. Пишется софт...

Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.
Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.

3
Эксперт JavaЭксперт С++
8362 / 3583 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
11.04.2010, 19:32 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
namespace xz
{
   сlass Temp;
   class Mas
   {
      private:
         int mN;
         Temp * mTemp; 
      public:
         Mas(int theN);
         ~Mas();
   };
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "Temp.h"
#include "Mas.h"
using namespace xz;
 
Mas::Mas(int theN): mN(theN)
{
   mTemp  = new Temp[mN];
   for(int i=0; i<mN; i++)
      mTemp[i]  = new Temp();
}
 
Mas::~Mas()
{
   for(int i=0; i<mN; i++)
      delete mTemp[i];
   delete mTemp;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10876 / 6767 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
11.04.2010, 19:45 3
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от M128K145 Посмотреть сообщение
delete mTemp;
Поправочка
C++
1
delete [] mTemp;
1
1 / 1 / 2
Регистрация: 11.04.2010
Сообщений: 6
16.04.2010, 21:32  [ТС] 4
2M128K145
Не работает этот код, ошибки в 9 и 15 строках(Cpp).
Пожалуйста, по возможности, давайте к коду пояснения, я еще и разобраться хочу
И еще, если будет рабочий код - это хорошо, но как потом обращаться к элементам этого массива непонятно. Например, когда я использую просто дин. массив без задаваемых коэф. то обращаюсь к нему так: mMas[i]->..., насколько я помню по книгам к массиву с задаваемыми коэф. другое обращение.

Еще раз на примере объясню что мне нужно:

Mas.h
C++
1
2
3
4
5
6
7
8
9
10
11
   сlass Temp;
   class Mas
   {
      private:
         Temp * mTemp;
         Temp * mTemp[10];
      public:
         Mas();
         ~Mas();
         void SetNum(int theNum);
   };
Mas.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "Temp.h"
#include "Mas.h"
 
Mas::Mas()
{
   for(int i=0; i<10; i++)
   {
      mTemp  = new Temp();
      mTemp[i] = mTemp;
   }
   mTemp = 0;
}
 
Mas::~Mas()
{
   for(int i=0; i<10; i++)
      delete mTemp[i];
}
 
//////////////////////////Как использовать//////////////////////////////////////////
void Mas::SetNum(int theNum)
{
   for(int i=0; i<10; i++)
      mTemp[i]->SetNumber(theNum+i);
}
Нужно тоже самое, только чтобы вместо размерности 10, по ходу выполнения программы и подключения Mas.h, можно было задать другую размерность, которую, например, введет пользователь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2010, 21:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Массив содержащий 10 случайных чисел выводится на экран все числа с четными индексами и отдельно с нечетными индексами.
массив содержащимся 10 случайных чисел выводится на экран все числа с четными индексами и отдельно...

Динамический массив при наследовании, элементами которого являются объекты класса наследника динамический массив
Попробовал создать динамический массив, у которого элементы - объекты класса динамический массив,...

Сделать динамический массив структур, причем в структуре так же существует динамический массив
Добрый день. Есть такая пзадача: нужно сделать динамический массив структур, причем в структуре...

Динамический массив ,элементами которого являются объекты класса динамический массив
Доброго времени суток, захотел создать динамический массив ,элементами которого являются объекты...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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