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

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

Войти
Регистрация
Восстановить пароль
 
VIPerZ
7 / 7 / 0
Регистрация: 26.02.2011
Сообщений: 69
#1

Указатель на двухмерный массив обьектов - C++

13.08.2013, 09:27. Просмотров 297. Ответов 4
Метки нет (Все метки)

Допустим есть класс:
C++
1
2
3
4
5
class a_type {
int a,b;
public:
a_type(int x, int y) { a = x; b = y}
};
Дальше в коде мне нужно создать указатель на двухмерный массив таких обьектов и выделить под него память с начальной инициализацией через конструктор...
Пробовал разные варианты, но ничего не работает... Та конструкция, которая работает для не указателя - не прокатила
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2013, 09:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатель на двухмерный массив обьектов (C++):

Указатель на двухмерный динамический массив - C++
Друзья, нужна Ваша помощь! Создаю одномерный динамический, создаю указатель на него (вернее на его первый эл-т). То же самое пытаюсь...

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. - C++
Пишу в Microsoft Visual Studio ->Win32 Console application ->C++. Условие:Реализовать 3 функции, каждая из которых принимает указатель на...

массив обьектов - C++
здравствуйте! подскажите пожалуйста, что такое обьект массивов? ( искал в учебниках и в интернете тоже,но ничего написанного об этом не...

программа на массив обьектов - C++
Доброе время суток! здесь я попытался написать простенькую программу на массив обьектов,но есть ошибки,я вижу пока только одну,не могли...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Динамический массив обьектов в класе - C++
Надо сделать так чтоб в класе был дин.массив обьектов другого класа. создаю я массив через конструктор с параметром(размерность). С...

4
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
13.08.2013, 09:35 #2
Цитата Сообщение от VIPerZ Посмотреть сообщение
Пробовал разные варианты, но ничего не работает...
Нужен конструктор без параметров
0
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
13.08.2013, 10:30 #3
конструктор по умолчанию
C++
1
a_type(int x=0, int y=0) { a = x; b = y}
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.08.2013, 11:21 #4
C++
1
explicit a_type(int x=0, int y=0): a(x), b(y) {}
2
Forveg
7 / 7 / 1
Регистрация: 14.08.2013
Сообщений: 20
14.08.2013, 18:00 #5
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include<iostream>
 
class a_type {
    int a,b;
public:
a_type(int x=5, int y=6) { a = x; b = y; }
friend void print(a_type& obj) { std::cout<<"["<<obj.a<<";"<<obj.b<<"] "; }
};
 
void print_matrix(a_type** p,int incols,int inrows)
{
    int i,j;
    for(i=0;i<inrows;i++)
    { 
        std::cout<<std::endl;
        for(j=0;j<incols;j++)
            print(p[i][j]);
    }
}
 
int main()
{
int cols,rows,i,j,tmpa,tmpb;
std::cout<<"\nrows: ";    std::cin>>rows; // число рядов
std::cout<<"\ncolumns: "; std::cin>>cols; // число столбцов
a_type** a_matrix= new a_type*[rows];     // берем в куче память для массива  
                                          // указателей на a_type
for(i=0;i<rows;i++)
{   
    a_matrix[i]=new a_type[cols]; // берем в куче память для очередного массива (i-го ряда матрицы) 
                                        // его элементы инициализируются через конструктор значениями по умолчанию
    //for(j=0;j<cols;j++)         // закомментирован цикл ручного задания значений          
    //{
    //  std::cout<<"\n["<<i<<";"<<j<<"] :"; std::cin>>tmpa>>tmpb;  
    //  a_matrix[i][j] = a_type(tmpa,tmpb); // вносим объект 
    //}
}
print_matrix(a_matrix,cols,rows);
 
for(i=0;i<rows;i++)
delete[] a_matrix[i]; // освобождаем память, занятую массивом (i-ым рядом матрицы) 
 
delete[] a_matrix; // освобождаем память, занятую массивом указателей
 
std::cout<<std::endl;
system("pause");
return 0;
}
0
14.08.2013, 18:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2013, 18:00
Привет! Вот еще темы с ответами:

Динамический массив и указатель на указатель - C++
Спасибо за внимание) Задача такова: нужно удалить элемент по индексу, при этом уменьшить сам массив на 1 (т.е. удалили элемент - уменьшился...

Массив обьектов класса предка и производного - C++
Можно ли, если у меня есть базовый НЕ абстрактный класс и проиводный от него с добавленым полем, допустим, целое число, сделать массив,...

Передать массив обьектов в метод класса - C++
Здраствуйте господа программисты! Подскажите пожалуйста как передать массив обьектов в метод класса: #include &lt;conio.h&gt; #include...

массив обьектов std::vector (ошибка) - C++
у меня есть class Clients со всеми методами и переменными в другом классе у меня есть std::vector &lt;Clients&gt; List; который я хочу...


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

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

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