Студопедия — class matriza
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

class matriza






{

float *b, max;

int n,m;

public:

matriza();

void ww_matriza();

void f_max();

void ww_max();

//Прототип дружественной функции

friend void max_m_m(massiv, matriza);

~matriza ()

{

...

}

};

//Объявление конструктора

matriza::matriza ()

{

...

}

//Объявление функции печати матрицы

void matriza::ww_matriza()

{

....

}

//Объявление функции обработки

void matriza::f_max()

{

max=*b;

for(int i=0;i<n;i++)

for(int j=0;j<m;j++)

if(*(b+i*m+i)) max=*(b+i*m+i);

}

void matriza::ww_max()

{

cout<<"\nmax massiva= "<<max;

}

//Объявление дружественной функции

void max_m_m(massiv ob1, matriza ob2)

{

float max_rez;

if (ob1.max > ob2.max) max_rez= ob1.max;

else max_rez= ob2.max;

printf("\n rez=%8.2f", max_rez);

}

//Основная функции

void main()

{

massiv y;

y.ww_massiv();

y.f_max();

y.ww_max();

getch();

matriza x;

x.ww_matriza();

x.f_max();

x.ww_max();

getch();

max_m_m(y, x);

}

 

Пример использования функции члена одного класса, дружественной другому классу.

//Неполное описание второго класса

class matriza;

//Описание структуры первого класса

class massiv

{ float *a,max;

int n;

public:

massiv();

void ww_massiv();

void f_max();

void ww_max();

void max_m_m(matriza);

~ massiv (){

delete[]a;

puts("\n rabotal destruktor massiva");}

};

//Объявление конструктора

massiv:: massiv ()

{

....

}

//Объявление фукции печати

void massiv::ww_massiv()

{

....

}

//Объявление функции обработки

void massiv::f_max()

{

max=*a;

for(int i=0;i<n;i++)

if(*(a+i)>max) max= *(a+i); }

//Объявление функции печати результата

void massiv::ww_max()

{

cout<<"\nmax massiva= "<<max;

}

//Описание структуры второго класса

class matriza

{

float *b,max;

int n,m;

public:

matriza();

void ww_matriza();

void f_max();

void ww_max();

//Прототип дружественной функции

friend void massiv::max_m_m(matriza);

~matriza ()

{

...

};

//Объявление конструктора

void matriza::matriza ()

{

...

}

//Объявление функции печати

void matriza::ww_matriza()

{

....

}

//Объявление функции обработки

void matriza::f_max()

{

max=*b;

for(int i=0;i<n;i++)

for(int j=0;j<m;j++)

if(*(b+i*m+i)) max=*(b+i*m+i);

}

//Объявление функции печати результата

void matriza::ww_max()

{

cout<<"\nmax massiva= "<<max;

 

}

//Объявление дружественной функции

void massiv::max_m_m(matriza ob2)

{

float max_rez;

if (max > ob2.max) max_rez= max;

else max_rez= ob2.max;

printf("\n rez=%8.2f", max_rez);

}

//-------------------------------------------

void main()

{

int k;

massiv y;

y.ww_massiv();

y.f_max();

y.ww_max();

matriza x;

x.ww_matriza();

x.f_max();

x.ww_max();

getch();

y.max_m_m(x);

}

Таблица 4.1 Варианты индивидуальных заданий

№ пп Тема задания Вариант печати Вариант друж. ф-ции
  Заданы матрица и массив. Подразумевается, что в них может быть несколько элементов, значение которых равно минимальному. Определить, где и на сколько таких элементов больше.    
  Заданы матрица и массив. Определить среднее арифметическое между суммой элементов матрицы и суммой элементов массива.    
  Заданы матрица и массив. Определить сумму всех элементов матрицы и элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, где и на сколько больше отрицательных элементов.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, в каком объекте больше сумма всех элементов.    
  Заданы матрица и массив. Определить среднее арифметическое между максимальным значением элементов матрицы и максимальным значением элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, сколько всего положительных элементов в обоих объектах.    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых меньше чем среднее арифметическое всех его элементов    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых больше чем (max+min)/2.    
  Заданы матрица и массив. Подразумевается, что в них может быть несколько элементов, значение которых равно минимальному. Определить, где и на сколько таких элементов больше.    
  Заданы матрица и массив. Определить среднее арифметическое между суммой элементов матрицы и суммой элементов массива.    
  Заданы матрица и массив. Определить сумму всех элементов матрицы и элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, где и на сколько больше отрицательных элементов.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, в каком объекте больше сумма всех элементов.    
  Заданы матрица и массив. Определить среднее арифметическое между максимальным значением элементов матрицы и максимальным значением элементов массива.    
  Заданы матрица и массив. Подразумевается, что в них могут быть и положительные и отрицательные элементы. Определить, сколько всего положительных элементов в обоих объектах.    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых меньше чем среднее арифметическое всех его элементов    
  Заданы матрица и массив. Определить в каком объекте больше элементов, значение которых больше чем (max+min)/2.    
  Заданы матрица и массив. Определить, где больше процент отрицательных элементов, в матрице или в массиве.    
  Заданы матрица и массив. Найти сумму произведений элементов матрицы и элементов массива.    
  Заданы матрица и массив. Определить, где больше процент отрицательных элементов, в матрице или в массиве.    
  Заданы матрица и массив. Найти сумму произведений элементов матрицы и элементов массива.    
  Заданы матрица и массив. Заменить максимальный элемент матрицы максимальным элементом массива.    
  Заданы матрица и массив. Заменить максимальный элемент матрицы максимальным элементом массива.    
  Заданы матрица и массив. Определить, где больше произведение элементов в матрице или в массиве.    

4.3 Контрольные вопросы и практические задания:

1. Как объявить функцию дружественной классу?

2. являются ли дружественные функции членами класса?

3. имеют ли дружественные функции доступ к закрытым членам класса?

4. Где выполняется описание дружественной функции?

5. Что должна иметь в качестве передаваемого параметра дружественная функция?

6. Может ли быть функция дружественной сразу нескольким классам, как она при этом объявляется, какие имеет аргументы.?

7. Может ли метод класса быть дружественной функцией другому классу, как она при этом объявляется, какие имеет аргументы.?







Дата добавления: 2015-10-01; просмотров: 257. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия