Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2015, 16:32   #1
Андрей Иванов
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 60
Сообщение Шаблонный массив объектов класса - C++

Есть такая программа:
Код:
#include <iostream>
 
class TMatrixClass
{
private:
    int X, Y;
    int **Matrix;
public:
    TMatrixClass()
    {
        X = 3;
        Y = 3;
        Matrix = new int *[X];
        for (int i = 0; i < X; i++) {
            Matrix[i] = new int[Y];
        }
    }
    
    void InitMatrix()
    {
        std::srand(std::time(NULL));
        for (int i = 0; i < X; i++) {
            for (int j = 0; j < Y; j++) {
                Matrix[i][j] = std::rand() % 10;
            }
        }
    }
    
    void PrintMatrix()
    {
        for (int i = 0; i < X; i++) {
            for (int j = 0; j < Y; j++) {
                std::cout << Matrix[i][j] << " ";
                if (j == Y - 1) {
                    std::cout << std::endl;
                }
            }
        }
        std::cout << std::endl;
    }
    
    ~TMatrixClass()
    {
        for (int i = 0; i < X; i++) {
            delete[]Matrix[i];
        }
        delete[]Matrix;
        Matrix = NULL;
    }
};
 
class TMatrixClass2
{
private:
    int Size = 5;
    TMatrixClass *M;
public:
    void add()
    {
        for (int i = 0; i < Size; i++) {
            M[i].InitMatrix();
            std::cout << std::endl << "Printing Matrix N" << i << ":" << std::endl;
            M[i].PrintMatrix();
            std::cout << "Press any key to continue";
            std::getchar();
        }
    }   
 
    ~TMatrixClass2()
    {
        delete[]M;
        M = NULL;
    }
};
 
 
int main(int argc, char* argv[])
{
    TMatrixClass2 Matrix;
 
    Matrix.add();
    
    return 0;
}
Модифицируйте программу.

Класс “TMatrixClass2” должен содержать шаблонный массив mass объектов класса “TMatrixClass”.

Как это сделать?
Андрей Иванов вне форума Ответить с цитированием
Старый 01.10.2015, 16:40   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Сделать TMatrixClass шаблонным, потом и TMatrixClass2 прокидывая тип.
p51x вне форума Ответить с цитированием
Старый 01.10.2015, 17:07   #3
Андрей Иванов
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 60
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Сделать TMatrixClass шаблонным, потом и TMatrixClass2 прокидывая тип.
Можете мой код изменить как надо?
Андрей Иванов вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java!В программе создать одиночные объекты и массив объектов класса и вызвать методы. Andros96 Помощь студентам 0 17.11.2013 15:41
C++ не могу понять как сделать массив объектов одного класса в другом (задание внутри) Vladimir_Anatol Помощь студентам 2 12.03.2012 18:56
Как отсортировать массив объектов класса по какому либо полю FarmHend Помощь студентам 3 16.11.2011 08:00
Массив объектов класса. zipwind Общие вопросы C/C++ 8 01.05.2011 20:56
динамический массив объектов класса. С++ Шиншилка Помощь студентам 8 25.04.2011 17:58