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

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

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

Класс безопасных матриц. Как должен быть устроен класс и как указать на матрицу одинарным указателем? - C++

08.05.2014, 00:04. Просмотров 258. Ответов 0
Метки нет (Все метки)

В университете в качестве лабораторной работы задали реализовать интерфейс класса безопасных матриц:

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
// исключения
struct BadDimensions {};
struct BadFirstIndex {};
struct BadSecondIndex {};
 
// интерфейс класса matrix
class matrix
{
    long    n, m;   // размерности матрицы
    double* p;      // указатель на матрицу
    matrix();
    class row
    {
        long    m;  // размерность строки
        double* p;  // указатель на строку
    public:
        row(long _m, double* _p);
            // оператор индексирования
        double& operator [] (long j);               // throw BadFirstIndex
        const double& operator [] (long j) const;   // throw BadSecondIndex
    };
public:
        // конструкторы
    matrix(long _n, long _m);
    matrix(const matrix& m);
        // деструктор
    ~matrix();
        // оператор присваивания
    matrix& operator = (const matrix& m);   // throw BadDimensions
        // оператор индексирования
    row operator [] (long i);               // throw BadFirstIndex
    const row operator [] (long i) const;   // throw BadFirstIndex
        // унарные операторы
    matrix& operator += (const matrix& m);  // throw BadDimensions
    matrix& operator -= (const matrix& m);  // throw BadDimensions
    matrix& operator *= (const matrix& m);  // throw BadDimensions
    matrix& operator *= (const double& d);
        // унарные операторы
    friend matrix operator -(const matrix& m);
    friend matrix operator +(const matrix& m);
        // бинарные операторы
    friend matrix operator * (const double& d, const matrix& m);
    friend matrix operator * (const matrix& m, const double& d);
        // следующие бинарные операторы 
        // могут выбросить исключение BadDimensions
    friend matrix operator + (const matrix& m1, const matrix& m2);   
    friend matrix operator - (const matrix& m1, const matrix& m2);
    friend matrix operator * (const matrix& m1, const matrix& m2);
};
Не понимаю, как должен быть устроен класс и как указать на матрицу одинарным указателем?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 00:04     Класс безопасных матриц. Как должен быть устроен класс и как указать на матрицу одинарным указателем?
Посмотрите здесь:
Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты C++
C++ Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
Операнд * должен быть указателем C++
C++ Создайте класс, в котором есть ostream& operator<<. Класс должен содержать очередь с приоритетом
Создать класс. Символьное поле должно быть задано как объект класса string C++
Класс - матрица, как объявить нужную мне матрицу в конструкторе C++
C++ Класс: как обратиться к методу производного класса через итератор на базовый класс?
Класс арифметических операций матрицы как на другую матрицу так и на число C++
C++ Как создать класс со вложенной структурой указателей на класс?
Как преобразовать указатель на класс к указателю на асбтрактный класс? C++
C++ ошибки с указателем на родительский класс
Как объявить функцию, которая имеет место быть только в некоторых дочерних классах, а базовый класс абстрактный? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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