ВУЗ:
Составители:
Рубрика:
class matrix /*-определение класса матрица через вектор; */
{ vector v[4];
/* Необходимые функции члены класса матрица; */
friend vector multiply(matrix&,vector&);
};/*-конец определения класса матрица; */
В оба класса здесь введена одна и та же функция-друг mul-
tiply,выполняющая следующие действия:
vector multiply(matrix& m,vector& v) /*-внешняя функция; */
{ vector r; /*-возращаемый вектор результата; */
for(int i=0;i<=3;i++)
{r.v[i]=0;/*-предполагается,что в классе век- */
/* тор определена операция[]; */
for (int j=0;j<=3;j++) /*-строка на столбец; */
r.v[i]+=m.v[i][j]*v.v[j];
} /*-конец цикла по элементам вектора; */
return r;
};/*-конец определения внешней функции умножения */
/* матрицы на вектор; */
Если все функции одного класса являются друзьями другого,
то используется такая краткая запись:
class x { friend class y; ... };
Рассмотренный способ включения внешних функций в определе-
ние составного типа позволяет по иному построить иерархию
составных типов,когда все функции,необходимые для доступа к
полям типов,являются внешними и включаются в соответствующие
типы как функции-друзья.Достоинства и недостатки такого под-
хода рассматриваются в [1].
Поскольку класс является в языке C++ основным средством ре-
ализации принципов объектно-ориентированного программирования,
перечислим виды членов,используемых для его определения:
а)определения констант и переменных основных типов:char,int,
float и т.д.;
22
class matrix /*-определение класса матрица через вектор; */
{ vector v[4];
/* Необходимые функции члены класса матрица; */
friend vector multiply(matrix&,vector&);
};/*-конец определения класса матрица; */
В оба класса здесь введена одна и та же функция-друг mul-
tiply,выполняющая следующие действия:
vector multiply(matrix& m,vector& v) /*-внешняя функция; */
{ vector r; /*-возращаемый вектор результата; */
for(int i=0;i<=3;i++)
{r.v[i]=0;/*-предполагается,что в классе век- */
/* тор определена операция[]; */
for (int j=0;j<=3;j++) /*-строка на столбец; */
r.v[i]+=m.v[i][j]*v.v[j];
} /*-конец цикла по элементам вектора; */
return r;
};/*-конец определения внешней функции умножения */
/* матрицы на вектор; */
Если все функции одного класса являются друзьями другого,
то используется такая краткая запись:
class x { friend class y; ... };
Рассмотренный способ включения внешних функций в определе-
ние составного типа позволяет по иному построить иерархию
составных типов,когда все функции,необходимые для доступа к
полям типов,являются внешними и включаются в соответствующие
типы как функции-друзья.Достоинства и недостатки такого под-
хода рассматриваются в [1].
Поскольку класс является в языке C++ основным средством ре-
ализации принципов объектно-ориентированного программирования,
перечислим виды членов,используемых для его определения:
а)определения констант и переменных основных типов:char,int,
float и т.д.;
22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »
