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

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

Войти
Регистрация
Восстановить пароль
 
swetka
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 3
#1

производный класс 3D массив - C++

09.03.2012, 21:01. Просмотров 404. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста. На основе класса «Матрица» создать производный класс «3D массив». Класс содержит
массив, каждый элемент которого является матрицей. В классе должны быть переопределены
функции ввода и вывода значений массива. В классе должна быть определена функция поиска
суммы элементов массива.

Основа программы
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//Файл main.cpp. Драйвер класса Matrix.
#include<iostream.h>
#include"matrix.h"
main( )
{
    Matrix A; 
    int B, i, j;
    cout<<"Matrix B="<<endl;
    A.vvod();
 
    A.operator--();
    cout<<"Matrix --"<<endl;
    
        A.operator++();
    cout<<"Matrix ++" <<endl;
 
    A.print();
        
           
   cout<<"Trans Matrix B=" <<endl;
    A.trans();
   
    system("Pause");
    return 0;
} 
 
//Файл Matrix.cpp. Реализация класса Matrix.
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
#include"Matrix.h"
void Matrix::vvod()
{ 
     srand(time(NULL));
     for (int i=0; i<3; i++)
     for (int j=0; j<3; j++)
{B[i][j]=rand()%100; }
} 
 
 
void Matrix::operator--( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j] << ", ";
}
cout << endl;
}
}
 
void Matrix::operator++( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j]-1 << ", ";
}
cout << endl;
}
}
 
 
 
void Matrix::trans()
 
{
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[j][i] << ", ";
}
cout << endl;
}}
 
  
 
void Matrix::print( ){
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 3; j++)
{
cout << B[i][j] << ", ";
}
cout << endl;
}
}
 
// Файл Matrix.h. Описание класса Matrix.
#ifndef MATRIX_H
#define MATRIX_H
class Matrix{
             friend ostream& operator <<( ostream &, Matrix &);
    friend istream& operator >>(istream &, Matrix &);
        friend void operator ++(Matrix &);
        friend void operator --(Matrix &);
    public:
      
        void operator=(Matrix &);
            void operator++();
        void operator--();
        void vvod ();
        void print (); 
        void trans();
    
        
    private:
    int B[3][3];
};
#endif;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос производный класс 3D массив (C++):

Разработать производный от абстрактного класса Figure класс и класс, производный от производного - C++
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в дальнейшем полной информации об объекте: ...

Есть производный класс и базовый; при чём производный использует только ЧАСТЬ ресурсов базового, правильно ли это? - C++
Ну то есть базовый класс A, с полями, допустим, a, b, c, d. И я проектирую производный класс B и я железно знаю, что он будет использовать...

Создать класс Point и производный класс ColoredPoint (цветная точка) - C++
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте производный класс ColoredPoint (цветная точка), в...

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты - C++
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. - C++
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

1
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.03.2012, 21:28 #2
Боюсь что задание кривое. Насделование должно выражать факт того, что наследник является родителем и везде, где требуется указатель\ссылка на родителя можно подставлять указатель\ссылку на наследника. Так вот трехмерная матрица интов не является двухмерной матрицей интов (вырожденные случаи рассматривать не стоит). Если следовать заданию и делать трехмерную матрицу наследованием, то получится франкенштейн. Рассмотрите реализацию трехмерной матрицы не с использованием наследования от двухметрной, а за счет включения.

Т.е. из исходного задания подчеркнутое удалить:
На основе класса «Матрица» создать производный класс «3D массив». Класс содержит
массив...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 21:28
Привет! Вот еще темы с ответами:

Создать базовый класс - Array и производный класс - Money для работы денежной суммы - C++
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для работы денежной суммы

Наследование: базовый класс Квадрат, производный класс Пирамида - C++
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы...

Указатели в базовом классе на базовый класс и производный класс - C++
Пишу контейнер &quot;Бинарное дерево поиска&quot; для частотного словаря. С самим контейнером особо вопросов нету. Вопрос по поводу элементов в...

Создать базовый класс Triad и производный класс vector3D - C++
Помогите пожалуйста с заданием. Часть кода(vector3D) сделал, вроде работает Нужно помочь с классом Triad. Вот полное задание: ...


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

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

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