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

Перегрузка операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ проверка на ошибки http://www.cyberforum.ru/cpp-beginners/thread1186588.html
Добрый день. Я пыталась в свою программу вставить конструкторы ( по умолчанию и копии) + деструкторы. Вроде получилось. Но не знаю правильно ли я это сделала. Мне нужно было еще сделать указатель...
C++ Вывести к-ю цифру последовательности Фибоначчи Вот сама задача: Дано натуральное k. Вывести k-ую цифру последовательности 1123581321…, в которой выписаны подряд все числа Фибоначчи. #include "stdafx.h" #include "stdio.h" #include <math.h>... http://www.cyberforum.ru/cpp-beginners/thread1186570.html
C++ Логический оператор AND
Помогите понят что делает этот код и как. char *cp="Hello World!"; while(cp && *cp) Я не могу понят первая строка указатель или массив. Если это массив то где фигурные скобки, или оператор...
Const char несовместим с параметром типа FILE C++
Привет всем. У меня возникла проблема. Пишу программу, связанную с файлами. Вот первый отрывочек проги. #include <stdio.h> int main() { int n, m; fopen("rect.dat", "w"); fscanf("%d %d",...
C++ Перегрузка функторов в STL http://www.cyberforum.ru/cpp-beginners/thread1186462.html
Просто любопытно, заметил такую вещь: есть скажем перегруженая функция show(int &a) и show(string& a) есть контейнер list<int> b или любой аналогичный, есть for_each(b.begin(),b.end(),show) который...
C++ Из Паскаля в Си++. Шифрование текстовой информации Шифрование текстовой информации случайной заменой символов. Нужно из Паскаля перевести в С++. program Cipher1; const txt1='Kurs dollara vozmozhno povisitsya. Menyate rubli na dollari!'#10;... подробнее

Показать сообщение отдельно
aimbat
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 81

Перегрузка операций - C++

24.05.2014, 13:14. Просмотров 256. Ответов 3
Метки (Все метки)

Друзья, помогите с перегрузкой некоторых операций, пожалуйста)
Задание:
Есть угол на плоскости(поля угол и минуты). Перегрузить операторы +, -, ==, !=, <, <=, >, >=. Также должны быть методы: конструктор, деструктор, метод для вывода значения угла на экран, метод перевода значения угла в радианы, метод приведения угла к диапазону 0 - 360.
Вот что у меня есть:
C++
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
#include "kyt.h"
#include <math.h>
#include <iostream>
 
using namespace std;
 
kyt::kyt(int ang, int min):
angle(ang)
,minute(min)
{
}
 
kyt::~kyt()
{
}
 
double kyt::radians()
{
    double p = 3.1415926535;
    double rad = 0;     
    rad = (angle*minute*0,01*(p/180));
    return rad;
}
 
void kyt::print(double rad, int angle)
{
    cout << rad << endl;
    cout << angle << endl;
}
int kyt::reverseit()
{
    if(minute < 0)
        {   angle--;
            minute += 60;
        }
        if(angle > 0) angle = angle%360;
        else angle = angle%360+360;
        return angle;
}
 
kyt kyt::operator+ (const kyt &compl)
{
    this->angle += compl.angle;
    this->minute += compl.minute;
 
    return *this;
}
 
kyt kyt::operator- (const kyt &compl)
{
    this -> angle -= compl.angle;
    this -> minute -= compl.minute;
 
    return *this;
}
И сам класс:
C++
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
#pragma once
 
class kyt
{
    int angle;
    int minute;
 
public:
    kyt(int ang, int min);
    ~kyt(void);
    void print(double rad, int angle);
    
    void print();
    double radians();
    int reverseit();
    
    kyt operator+ (const kyt &compl);
    kyt operator- (const kyt &compl);
    
    kyt operator== (const kyt &comp1);
    kyt operator!= (const kyt &comp1);
    
    kyt operator< (const kyt &comp1);
    kyt operator<= (const kyt &comp1);
    
    kyt operator> (const kyt &comp1);
    kyt operator>= (const kyt &comp1);
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru