В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
wrrrr
wrrrr
27.04.2023 07:01 •  Информатика

С++ ООП . Очень Наследование .Виртуальные методы.

Создайте Базовый класс: ПАРА_ЧИСЕЛ(PAIR)
Первое число(first) - int
Второе число(second) - int
Определить методы изменения полей и операцию складывания пар(a, b) -(c, d) = (a - b, c - d)

Создайте наследный класс КОМПЛЕКСНОЕ_ЧИСЛО(COMPLEX), с полями Действительная_часть_числа и Мнимая_часть_числа. Определить операции умножения(a, b) * (c, d) = (a*c - b*d, a*d+b*c) и сложение(a, b) + (c, d) = (a+b, с+d)

Ответ:
whitehawk1508
whitehawk1508
21.11.2021 06:00

Не бейте, я не знаю, что я написал. Надеюсь, тебе это .

#include <iostream>

#include <vector>

using namespace std;

template<typename a, typename b>

class myPair {

public:

myPair(a first, b second) : first(first), second(second) {

}

myPair operator+(myPair a) {

 return myPair(first + a.first, second + a.second);

}

myPair operator-(myPair a) {

 return operator+(myPair(-a.first, -a.second));

}

a first;

b second;

};

class complex : myPair<int, int> {

public:

friend myPair;

complex(int real, int imaginary) : myPair(real, imaginary) {

 

}

int real() {

 return first;

}

int imaginary() {

 return second;

}

complex operator+(complex a) {

 return complex(myPair::operator+(a).first, myPair::operator+(a).second);

}

complex operator-(complex a) {

 return complex(myPair::operator-(a).first, myPair::operator-(a).second);

}

complex operator*(complex a) {

 return complex(real() * a.real(), imaginary() * a.imaginary());

}

};

int main() {

complex a(1, 2), b(10, 11);

cout << (a + b).real() << " " << (a + b).imaginary() << " " << (a - b).real() << " " << (a - b).imaginary() << " " << (a * b).real() << " " << (a * b).imaginary();

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?