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

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

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

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

20.04.2010, 12:16. Просмотров 1179. Ответов 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++ Написать перегруженную функцию
C++ Перегруженную функцию переделать в виртуальную
C++ Производный класс не видит перегруженную операцию базового класса
Как переопределить перегруженную функцию в производном классе? C++
C++ Создать перегруженную функцию для вывода нечетных элементов массива
не получается написать перегруженную функцию, которая возвращает значение в зависимости от набора формальных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 14:51     Класс Integer и опредлить перегруженную функцию #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  [ТС]     Класс Integer и опредлить перегруженную функцию #3
ну и что ты сделал?=) что-то не пойму...где перегруженная функция, возвращающая максимальное из двух аргументов.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:14     Класс Integer и опредлить перегруженную функцию #4
Цитата Сообщение от Romich41 Посмотреть сообщение
где перегруженная функция, возвращающая максимальное из двух аргументов.
я не это делал)

Добавлено через 39 секунд
пример перегруженной привел
Romich41
15 / 15 / 1
Регистрация: 01.11.2009
Сообщений: 188
20.04.2010, 23:17  [ТС]     Класс Integer и опредлить перегруженную функцию #5
а что ваще она делает..не могу понять???
stv
26 / 26 / 6
Регистрация: 05.03.2010
Сообщений: 171
20.04.2010, 23:24     Класс Integer и опредлить перегруженную функцию #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
friend integer operator+(integer op1, int op2);
Скажите пожалуйста, для чего вы используете friend (что это дает?)
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:39     Класс Integer и опредлить перегруженную функцию #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  [ТС]     Класс Integer и опредлить перегруженную функцию #8
а как сотварить перегруженную функцию, возвращающею максимальное из двух аргументов.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:53     Класс Integer и опредлить перегруженную функцию #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  [ТС]     Класс Integer и опредлить перегруженную функцию #10
буду пробывать сделать=)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 12:44     Класс Integer и опредлить перегруженную функцию
Еще ссылки по теме:
C++ Написать шаблонную, перегруженную функцию которая возвращает минимальный из трех передаваемых в нее параметров
класс Integer C++
класс Big Integer C++
Создать абстрактный класс Integer C++
C++ Создать класс целых чисел Integer

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

Или воспользуйтесь поиском по форуму:
Тарас Паррижняк
Сообщений: n/a
18.05.2013, 12:44     Класс Integer и опредлить перегруженную функцию #11
Romich41, у тебя случайно не сохранилась эта лаба????
Создать класс целых чисел integer. Определить перегруженную функцию,
возвращающую максимальное из двух аргументов.
Функция не является членом класса целых чисел.
Перегруженные функции имеют аргументы типа int, double, integer.
Тело перегруженных функций должны быть одинаковыми.
Yandex
Объявления
18.05.2013, 12:44     Класс Integer и опредлить перегруженную функцию
Ответ Создать тему
Опции темы

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