Друзья Пусть определено два класса, vector и matrix (вектор и матрица). Теперь определим функцию, умножающую матрицу на вектор. Пусть доступ к элементам.

Презентация:



Advertisements
Похожие презентации
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ.
Advertisements

АЛГОРИТМЫ НА МАТРИЦАХ. МАССИВЫ В ПРОГРАММЕ ОПИСАНИЕ ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА тип имя[размер_1]…[размер_N] СИ имя[индекс_1]…[индекс_N] СИ индекс_i.
Лекция 4. Введение в С++ Наследование, множественное наследование. Конструкторы, деструкторы. Виртуальные функции.
1.Создайте программу, выводящую на экран первые 55 элементов последовательности … 2.Создайте программу, выводящую на экран все неотрицательные.
1 Лекция 3 Разработка алгоритмов и программ сверху вниз.
Симплекс-метод Лекции 6, 7. Симплекс-метод с естественным базисом Симплекс –метод основан на переходе от одного опорного плана к другому, при котором.
10*2=20 2*2=4 1*2=2 3*3=9 4*2=8 3*5=15 4 x 8 = 32 2*3=6 4*1=4.
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
Прикладное программирование кафедра прикладной и компьютерной оптики Полиморфизм.
Потоки Язык C++ не обеспечивает средств для ввода/вывода Ему это и не нужно; такие средства легко и элегантно можно создать с помощью самого языка Традиционно.
Свойства линейных операций над матрицами Свойства линейных операций над векторами.
Учебное пособие по дисциплине «Элементы высшей математики» Преподаватель: Французова Г.Н.
Основы информатики Лекция. Массивы. Указатели. Заикин Олег Сергеевич
Лекция 22. Шаблоны (часть 2) Красс Александр СПбГУ ИТМО, 2008.
ООП Классы – 2.
C++ Объектно-ориентированное программирование. Первая программа C++ #include int n = 5; // глобальная переменная void main() {int n; // локальная переменная.
Диктант - 1 Умножение на однозначное число. 202*4.
НГТУ, каф. ВТ Наследование в С++ Макаревич Л. Г.НГТУ, каф. ВТ Наследование в С++ Макаревич Л. Г.
Двумерные динамические массивы. Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы. Другими словами, это набор.
Проверка
Транксрипт:

Друзья Пусть определено два класса, vector и matrix (вектор и матрица). Теперь определим функцию, умножающую матрицу на вектор. Пусть доступ к элементам вектора осуществляется через функцию elem( ), которая осуществляет проверку индекса, и что в matrix имеется аналогичная функция.

vector multiply(matrix& m, vector& v); { vector r; for (int i = 0; i

Функция не член, получившая право доступа к закрытой части класса, называется другом класса - friend class vector { float v[4]; friend vector multiply(matrix&, vector&); }; class matrix { vector v[4]; friend vector multiply(matrix&, vector&); };

Теперь можно написать функцию умножения, которая использует элементы векторов и матрицы непосредственно: vector multiply(matrix& m, vector& v); { vector r; for (int i = 0; i

Функция член одного класса может быть другом другого class x { void f(); }; class y {//... friend void x::f(); }; Все функции члены одного класса могут являются друзьями другого. Для этого есть более краткая запись: class x { friend class y; //. };