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

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

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

Как сделать перегрузку операции ">"? - C++

01.12.2011, 22:17. Просмотров 397. Ответов 4
Метки нет (Все метки)

Как сделать перегрузку операции ">"?
Например b>a, если b и а объекты разработанного класса.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 22:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать перегрузку операции ">"? (C++):

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/". - C++
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание: создать класс комплексных чисел и ввести операции: "+",...

Не корректно считает перегрузку оператора "-" после "+" - C++
Доброго дня. Помогите советом. Не корректно считает a - b и a * b , после подсчёта a + b. Понимаю что он сохраняет первое решение в...

как реализовать перегрузку опрератора "="? - C++
есть класс Base: class Base { private: ... //переменные public: Base(...); //конструктор ...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Как сделать "Старт", "Пауза", Стоп"? - C++
Доброго времени суток, как сделать так, чтобы при нажатии на кнопку начиналось цикличное действие (рисование например) и продолжалось бы...

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include <iostream> using namespace std; int main() {int a=0,b=0; int i=0; cout<<"Vvedite i="<<endl; cin>>i; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Петррр
5949 / 3386 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
01.12.2011, 22:26 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Int {
    int val;
public:
    Int(int v): val(v){
    }
    friend bool operator > (Int l, Int r) {
        return l.val > r.val;
    }
    friend bool operator < (Int l, Int r) {
        return l.val < r.val;
    }
    int getVal()const {
        return val;
    }
    void setVal(int v) {
        val = v;
    }
};
Сыроежка
Заблокирован
01.12.2011, 22:52 #3
Цитата Сообщение от YuraStyle Посмотреть сообщение
Как сделать перегрузку операции ">"?
Например b>a, если b и а объекты разработанного класса.
У вас две возможности. Либо сделать эту оператор-функцию членом класса, либо сделать ее глобальной функцией.

Если объявлять ее как член класса, то объявление будет выглядеть следующим образом

C++
1
2
3
4
5
6
class T
{
public:
   bool operator >( const T & ) const;
   ...
};
Если объявлять ее глобальной функцией, то ее объявление будет выглядеть следующим образом

C++
1
bool operator >( const T &x, const T &y );
YuraStyle
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 9
01.12.2011, 23:15  [ТС] #4
Цитата Сообщение от Петррр Посмотреть сообщение
int getVal()const { return val; } void setVal(int v) { val = v; }
а зачем эти методы?

Добавлено через 2 минуты
Цитата Сообщение от Сыроежка Посмотреть сообщение
bool operator >( const T & ) const;
т.е. дружественным метод делать не надо?
Сыроежка
Заблокирован
01.12.2011, 23:22 #5
Цитата Сообщение от YuraStyle Посмотреть сообщение

Добавлено через 2 минуты

т.е. дружественным метод делать не надо?
если эта функция - член класса, то очевидно никаких спецификаторов friend не нужно. Если это у вас глобальная функция, то все зависит от того, вовлечены ли в операццию сравнения закрытые члены класса и есть ли к доступу к ним открытый интерфейс. Если такого нет, то надо объявлять функцию дружественной.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 23:22
Привет! Вот еще темы с ответами:

Как сделать так, чтобы scanf в переменную double мог считывать с клавиатуры не только "0,01", но и "0.01" - C++
Помогите!) Не знаю, искал, не нашел, возможно ли вообще. Чтобы и так и так понимал.

Как сделать так, чтобы введенное с клавиатуры слово "helllo" в памяти сохранялось в виде "Hello". - C++
Здравствуйте. Подскажите пожалауйста как сделать чтоб согда я вводу с клавиатуры helllo, в памяти оставалось &quot;Hello&quot;. Данные типа...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в &quot;код операции&quot;; обнаружено...

Как сделать execl("my", "arg", argv)? - C++
Пытаюсь сделать программу под linux. Нужен такой код, который бы запускал execl с двумя моими параметрами и всеми параметрами из argv кроме...


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

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

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