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

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

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

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

09.03.2012, 21:01. Просмотров 393. Ответов 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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 21:01     производный класс 3D массив
Посмотрите здесь:

Производный класс. Перегрузка << (cout). - C++
При инициализации массива указателей базового класса при вызове cout производный класс не отображается, отображается базовый. Без...

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

Магический квадрат (через производный класс) - C++
Здравствуйте! Знаю, что на форуме неоднократно рассматривалась проблема разработки программы для построения магического квадрата, но то,...

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

Создайте класс StringVector, производный от vector<void*> - C++
Создайте класс StringVector, производный от vector&lt;void*&gt;. Переопределите функции push_back() и operator так, чтобы они принимали и...

Создать производный класс complexExt от класса Complex - C++
задание: Создать производный класс complexExt от класса Complex, который должен - в разделе private содержать закрытые переменные-члены...

Производный класс! Не могу понять в чем ошибка!! - C++
#ifndef LR_H #define LR_H #include &lt;stdexcept&gt; template &lt;class T&gt; class LR: public Rat { // Ошибка expected class-name...

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

Наследование классов: почему производный класс не учитывает данные, введенные в базовом? - C++
Почему при компилляции производный класс не учитывает данные, введенные в базовом? #include &lt;iostream&gt; using namespace std; ...

Есть базовый и производный класс, в базовом определена функция, необходимо её объявить в производном! - C++
Как-то так, что ли: class x { public: void f_0 (){}; }; class y: public x { public: //Тут у меня пойдёт...


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

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

Т.е. из исходного задания подчеркнутое удалить:
На основе класса «Матрица» создать производный класс «3D массив». Класс содержит
массив...
Ответ Создать тему
Опции темы

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