Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Основы программирования С++

Мем
Основы программирования C++Лекция 8. Дружественные функции и перегрузка операторов Мем Дружественная функцияДружественная функция — это функция, которая не является членом класса, но Примерclass Int{int val;public:Int(int _val = 0){val = _val;}friend Int plusInt(Int l, Int Перегрузка операторовПри помощи перегрузки операторов, для созданных классов можно определить поведение большинства Пример переопределенияclass Complex{int Re;int Im;public:Complex(int r = 0, int i = 0) Оператор приведенияС помощью перегрузок операторов, можно создавать операторы приведения типов.Пример приведения к Какие операторы не переопределяются ЗаданиеПереопределить операторы:ПрисваиванияПриведения к floatУнарный минусУмножения Мем в конце
Слайды презентации

Слайд 2 Мем

Мем

Слайд 3 Дружественная функция
Дружественная функция — это функция, которая не

Дружественная функцияДружественная функция — это функция, которая не является членом класса,

является членом класса, но имеет доступ к членам класса,

объявленным в полях private или protected.
То есть такая функция не привязана к объекту, но может использовать данные объектов.
Объявляется и описывается функция как обычная вне класса, но подсоединяется к классу с меткой friend.




Слайд 4 Пример
class Int
{
int val;
public:
Int(int _val = 0){val = _val;}
friend

Примерclass Int{int val;public:Int(int _val = 0){val = _val;}friend Int plusInt(Int l,

Int plusInt(Int l, Int r);
friend void showValue(Int dat)

{
cout << dat.val << endl;
}
};

Int plusInt(Int l, Int r)
{
Int res(l.val + r.val);
return res;
}


Слайд 5 Перегрузка операторов
При помощи перегрузки операторов, для созданных классов

Перегрузка операторовПри помощи перегрузки операторов, для созданных классов можно определить поведение

можно определить поведение большинства стандартных операторов С++. То есть

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

Слайд 6 Пример переопределения
class Complex
{
int Re;
int Im;
public:
Complex(int r = 0,

Пример переопределенияclass Complex{int Re;int Im;public:Complex(int r = 0, int i =

int i = 0) { Re = r; Im

= i; }
friend Complex operator+(Complex &l, Complex &r);
void show()
{
cout << Re << " + " << Im <<"i"<< endl;
}
};

Complex operator+(Complex &l, Complex &r)
{
return Complex(l.Re + r.Re, l.Im + r.Im);
}

Для закрепления определить оператор вычитания


Слайд 7 Оператор приведения
С помощью перегрузок операторов, можно создавать операторы

Оператор приведенияС помощью перегрузок операторов, можно создавать операторы приведения типов.Пример приведения

приведения типов.
Пример приведения к типу int
operator int()
{
return Re;
}
Тем самым

при вызове явного приведения типа объекта Complex к Int, вернётся значение действительного числа.


Слайд 8 Какие операторы не переопределяются

Какие операторы не переопределяются

Слайд 9 Задание
Переопределить операторы:
Присваивания
Приведения к float
Унарный минус
Умножения

ЗаданиеПереопределить операторы:ПрисваиванияПриведения к floatУнарный минусУмножения

  • Имя файла: osnovy-programmirovaniya-s.pptx
  • Количество просмотров: 117
  • Количество скачиваний: 0