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

Перегрузки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Получение адреса приложения и последующее задание смещений http://www.cyberforum.ru/cpp-beginners/thread848429.html
Салют, задачей поставил получить адрес приложения и через смещения изменить соответственные значения. Возникли следующие вопросы: 1. Как получить адрес приложения (похоже функция winAPI через имя...
C++ Задание - написать алгоритм сканировщика диска Доброго времени суток! Помогите, пожалуйста, с написанием сканировщика диска на ошибки и их исправления. Диск необходимо проверить на пересечение кластеров и потерянные кластеры. Совсем не лезет в... http://www.cyberforum.ru/cpp-beginners/thread848426.html
C++ Структуры. Найти номера и владельцев автомобилей данной марки
Помогите пожалуйста составить программу для этой задачи. Сведения об автомобиле состоят из номера, марки, фамилии владельца, признаки прохождения техосмотра. Написать программу для занесения в...
написать функцию, которая в строке заменяет все символы верхенго регистра в символы нижнего регистра C++
привет всем, помогите составить программу для решения данной задачи. написать функцию, которая в строке заменяет все символы верхенго регистра в символы нижнего регистра.
C++ натуральное число http://www.cyberforum.ru/cpp-beginners/thread848412.html
Привет всем, помогите составить программу для задачи. Определить натурально число не больше заданного n с наибольшим числом простых делителей. Использовать функцию вычисления количества простых...
C++ Поиск самой длиной серии одинаковых элементов в двумерном массиве Помогите, нужно найти самую длинную серию одинаковых элементов в двумерном массиве. подробнее

Показать сообщение отдельно
L45
0 / 0 / 1
Регистрация: 13.10.2012
Сообщений: 33

Перегрузки - C++

25.04.2013, 17:35. Просмотров 335. Ответов 1
Метки (Все метки)

Помогите пожалуйста!!!! Перегрузку оператора – слева объект, справа другой тип данных вроде сделала, а перегрузку оператора – слева другой тип данных, справа объект не могу.
Определить оператор + для сложения объектов класса и целого или вещественного числа слева и справа (перегрузка операторов) по заданию: добавление к дроби целого числа выполняется по правилу сложения дробей (без сокращения).
Код:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
 
class drob
{
    public:
        double Videl();
        drob operator +(drob a2);
        drob operator +(double a2); 
        void PutDrob(int a01,int a02);
        friend drob operator +(double a1,drob x);
        int GetC();
        int GetD();
    private:
        int c; // числитель 
        int d; // знаменатель 
};
 
int drob::GetC()
{
    return c;
}
 
int drob::GetD()
{
    return d;
}
double drob::Videl()
{
    double d1;
    int c1;
    d1=c/d;
    c1=c/d;
    d1=d1-c1;
    return d1;
}
 
void drob::PutDrob(int a01, int a02)
{
    c = a01;
    d = a02;
}
 
drob drob::operator +(drob a2)
{
    drob c1;
    c1.d=this->d*a2.d;
    c1.c=this->c*a2.d+this->d*a2.c;
    return c1;
}
 
drob drob::operator +(double a2)
{
    c += a2*d;
    return (*this);
}
 
drob operator +(double a1, drob x)
{
    
}
 
int main(int argc, char* argv[])
{
    int c01,d01,p1,p2;
    setlocale(LC_ALL,"Russian");
    drob a,b,c;
    a.PutDrob(65,25);
    b.PutDrob(2,7);
    p1 = a.GetC();
    p2 = a.GetD();
    cout<<"Первая дробь: "<< p1<<"/"<<p2<<endl;
    cout<<"Дробный остаток: "<< a.Videl()<<endl;
    p1 = b.GetC();
    p2 = b.GetD();
    cout<<"Вторая дробь: "<< p1<<"/"<<p2<<endl; 
    cout<<"Дробный остаток: "<< b.Videl()<<endl;    
    c = c+b;
    c=c+b+c;
    c=c+1;
    cout<<"При сложении получается следующая дробь: "<< c01<<"."<<d01;
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru