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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
#1

Класс Integer и опредлить перегруженную функцию - C++

20.04.2010, 12:16. Просмотров 1198. Ответов 10
Метки нет (Все метки)

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

Помогите пожайлусто!!!!!

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
#include <iostream>
using namespace std;
 
class integer {
public:
    int n;
public:
    integer (int i) { n = i; }
    integer (myclass &m) {n=m.n;}
    friend void operator+(integer &c,int value);
};
 
void integer::operator+(integer &c,int value)
{
    integer o(c);
    //я понимаю, но не знаю как эту функцию тут записать
    return o;
}
 
int main()
{
//инициализация мне не извесна  
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 12:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс Integer и опредлить перегруженную функцию (C++):

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

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

Перегруженную функцию переделать в виртуальную - C++
Сам как не знаю сделать пожалуйста помогите)) Есть перегруженная функция, нужно сделать из нее виртуальную функцию. Даже не обязательно из...

Производный класс не видит перегруженную операцию базового класса - C++
Подскажите пожалуйста, почему производный класс, а именно его объект не видит перегруженную операцию, в данном случае это префиксные...

Как переопределить перегруженную функцию в производном классе? - C++
Как переопределить перегруженную функцию в производном классе? #include &lt;iostream&gt; class Number { public: virtual Number*...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 14:51 #2
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
#include <iostream>
 
using namespace std;
 
class integer{
    private:
    int longitude, latitude;
    public:
    integer(){};
    integer(int lg, int lt){
        longitude=lg;
        latitude=lt;
    }
 
    void show (){
        cout<<longitude<<" ";
        cout<<latitude<<"\n";
    }
    friend integer operator+(integer op1, int op2);
    friend integer operator+(int op1, integer op2);
};
 
    integer operator+(integer op1, int op2){ //объект класса с числом сложить
        integer temp;
        temp.longitude=op1.longitude+op2;
        temp.latitude=op1.latitude+op2;
        return temp;
    }
 
    integer operator+(int op1, integer op2){//число с объектом класса сложить
        integer temp;
        temp.longitude=op1+op2.longitude;
        temp.latitude=op1+op2.latitude;
        return temp;
    }
 
 
 
 
int main()
{
 
    integer ob1(10,20);
    integer ob2(5,30);
    integer ob3(7,14);
    ob1.show();
    ob2.show();
    ob3.show();
 
    ob1=ob2+10;
    ob3=10+ob2;
 
    ob1.show();
    ob3.show();
 
    return 0;
}
Добавлено через 35 секунд
у меня только конструктор с 2 параметрами
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
20.04.2010, 23:11  [ТС] #3
ну и что ты сделал?=) что-то не пойму...где перегруженная функция, возвращающая максимальное из двух аргументов.
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:14 #4
Цитата Сообщение от Romich41 Посмотреть сообщение
где перегруженная функция, возвращающая максимальное из двух аргументов.
я не это делал)

Добавлено через 39 секунд
пример перегруженной привел
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
20.04.2010, 23:17  [ТС] #5
а что ваще она делает..не могу понять???
stv
26 / 26 / 6
Регистрация: 05.03.2010
Сообщений: 171
20.04.2010, 23:24 #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
friend integer operator+(integer op1, int op2);
Скажите пожалуйста, для чего вы используете friend (что это дает?)
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:39 #7
Цитата Сообщение от Romich41 Посмотреть сообщение
что ваще она делает..не могу понять???
складывает (из названия же видно) объект и число и скалдывает число и объект

Добавлено через 6 минут
Цитата Сообщение от stv Посмотреть сообщение
friend integer operator+(integer op1, int op2);
Скажите пожалуйста, для чего вы используете friend (что это дает?)


объект+число -- верно
число+объект -- неверно

неверно, потомучто в левой части стоит целое число. Поскольку число имеет встроенный тип, операция сложения целого числа и объекта не определена. Следовательно компилятор сочтет это как ошибку. И если все время следить за положением объектов в выражениях - буде достаточно не удобно программировать.
Для этого и нужны дружественные функции. В этом случае дружественная функция получает оба параметра. И те 2 выражения станут правильными, тк Дружественной функции не важен порядок следования операндов

Добавлено через 2 минуты
Дружественные функции позволяют повысить гибкости перегруженного оператора
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
20.04.2010, 23:41  [ТС] #8
а как сотварить перегруженную функцию, возвращающею максимальное из двух аргументов.
PointsEqual
ниначмуроФ
835 / 519 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:53 #9
ф-ию надо перегружать для того чтобы она принимала аргументы разных типов(как понял из задания)?
тогда лучше так
C++
1
2
3
4
5
6
template <class T>
T max(T &num1, T &num2){
    if (num1 > num2)
    return num1;
    return num2;
}
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
21.04.2010, 00:00  [ТС] #10
буду пробывать сделать=)
Тарас Паррижняк
Сообщений: n/a
18.05.2013, 12:44 #11
Romich41, у тебя случайно не сохранилась эта лаба????
Создать класс целых чисел integer. Определить перегруженную функцию,
возвращающую максимальное из двух аргументов.
Функция не является членом класса целых чисел.
Перегруженные функции имеют аргументы типа int, double, integer.
Тело перегруженных функций должны быть одинаковыми.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 12:44
Привет! Вот еще темы с ответами:

Создать перегруженную функцию mas(), выводящую одномерный статический числовой массив - C++
Может кто помочь пожалуйста, надо создать функцию mas(), которая выводит одномерный статический числовой массив объектов, символьный массив...

не получается написать перегруженную функцию, которая возвращает значение в зависимости от набора формальных - C++
Которая возвращает значение в зависимости от набора формальных параметров:z=min(x,y)для 3 типов параметра x:int, float; double Я начал...

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

класс Integer - C++
Разработать класс Integer для работы с целыми числами. Класс должен содержать основной конструктор и конструктор копирования. Определить в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.05.2013, 12:44
Ответ Создать тему
Опции темы

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