Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dmi3y93
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 5
#1

Перегруженные операции - C++

03.05.2012, 06:23. Просмотров 581. Ответов 2
Метки нет (Все метки)

Задача: Класс «Прямая» должен включать поля данных: коэффициенты прямой y = ax +b; методы: вывод уравнения прямой на экран, определение точек пересечения с осями и перегруженные операции: проверка перпендикулярности прямых (!=), определение угла между двумя прямыми (%).
Помогите пожалуйста разобраться как сделать перегруженные операции.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <QtCore/QCoreApplication>
#include <iostream>
#include <math.h>
 
using namespace std;
 
class line
{public:
        int a;
        int b;
        
//=====Вывод уравнения=====
        void equation()
        {   cout << endl << "Result:" << endl;
            cout << "Equation -> y=" << a << "x+" << b << endl;
        }
//=====Пересечение прямых=====
        void intersection()
        {   if(a!=0 && b!=0) {cout << "Intersections: y=" << a*0+b << "; x=" << (-b)/a << endl;} else
            if(a==0 && b==0) {cout << "Intersections: y = Ox" <<endl;};
            if(a==0 && b!=0) {cout << "Intersections: y=" << b << "; line is not intersection with OX" << endl;}
            if(a!=0 && b==0) {cout << "Intersections: y=0; x=0" << endl;}
        }
//=====Проверка перпендикулярности прямых=====
        void perpendicularity()
        {
        }
//=====Нахождение угла=====        
        void angle()
        {
        }
        
 
 
};
 
int main()
{   line l;
        cout << "Equation 1:" << endl;
        cout << "Enter a=";
        cin >> l.a;
        cout << "Enter b=";
        cin >> l.b;
        l.equation();
        l.intersection();
    line l2;
        cout << "__________________________________" << endl <<endl;
        cout << "Equation 2:" << endl;
        cout << "Enter a2=";
        cin >> l2.a;
        cout << "Enter b2=";
        cin >> l2.b;
        l2.equation();
        cout << "__________________________________" << endl <<endl;
 
 
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 06:23     Перегруженные операции
Посмотрите здесь:

Класс «Дата» - поля данных и перегруженные операции - C++
Привет! ребят помогите с заданием:&quot; Класс «Дата» должен включать поля данных: день, месяц, год; методы: вывод даты и времени года и...

Реализовать класс Vector и перегруженные операции сложения (+), скалярного (%) и векторного (*) произведения - C++
Создайте класс Vector (вектор), включающий поля: координаты вектора. Реализуйте методы вывода вектора и вычисления длины вектора....

Перегруженные функции - C++
Подскажите, плиз, с заданием. Задание у меня такое: написать перегруженную функцию для расчета: y=|sin x|-|cos x| Написал я...

Перегруженные функции - C++
Здравствуйте, помогите написать перегруженные функции и основную программу, которая их вызывает: а) целые числа возводит в степень n; ...

Перегруженные функции - C++
Добрый вечер. Возник вопрос.Написал две перегруженные функции. double power(double, int); int power(int, int); Первая для...

Перегруженные функции - C++
Нужно создать программу для определения среднего арифметического и среднего геометрического трех целых и положительных чисел,определить что...

Перегруженные функции - C++
В одномерном массиве, состоящем из п элементов, вычислите: 1) среднее арифметическое элементов, расположенных до первого и после...

Перегруженные функции - C++
Написать перегруженную функцию, которая возвращает площадь квадрата, прямоугольника, треугольника и круга. Считать, что для вычисления...

Перегруженные шаблоны - C++
Написать перегруженные шаблоны для решения уравнения: ax^2+bx+c=0

Перегруженные функции - C++
Всем доброго дня! Помогите с программой: Написать перегруженную функцию суммирования для получения суммы кодов символов от 'a’ до 'z’. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
03.05.2012, 09:03     Перегруженные операции #2
Условие перпендикулярности прямых y1 = a1x + b1 и y2 = a2x + b2:
a1*a2 + b1*b2 = 0;

Угол между прямыми: tg(z) = (a1*b2 - a2*b1) / (a1*a2 + b1*b2)
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 1
03.05.2012, 10:16     Перегруженные операции #3
Например, вместо
C++
1
2
3
4
//=====Проверка перпендикулярности прямых=====
        void perpendicularity()
        {
        }
Надо использовать
C++
1
2
3
4
5
6
7
bool operator!=(line L2)
{
    if(a*L2.a + b*L2.b==0)
          return true;
    return false;
 
}
Замечание: a и b по правильному надо делать private.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru