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

Функции сравнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив: вычислить сумму элементов, которые стоят по периметру матрицы http://www.cyberforum.ru/cpp-beginners/thread646633.html
#include <iostream> using namespace std; int main () { setlocale (LC_ALL, "Russian"); int k,m,i,j,t,sum; int n; cout << "Введите размерность" << endl; cin >> n; int arr; for (i=0; i<n; i++) {
C++ Ошибка String subscript out of range Здравствуйте. Написал на Dev C++ 4.9.9.2 программу которая открывает фаил и кладет все в буфер. Содержание файла: gehen v test*kommen v test*sagen v test Дальше функцией sort() берет символ и сравнивает весь буфер . Первый пробел (конец первого слова )и до звездочки (конец строки) все это он делит в два вектора для слов и вектор для строк которые кончаются -*. Всё как бы работает ,но... http://www.cyberforum.ru/cpp-beginners/thread646615.html
Конструктор копий. Оператор присваивания C++
В классе есть массив char (не динамический) размером 40 байт. Вопрос1: нужно ли для такого класса определять конструктор копий или перегружать оператор присваивания или вполне подойдёт конструктор копий и оператор присваивания по умолчанию??? Вопрос2:Если в объект вышеописанного класса присвоить другому объекту того же класса, то верно ли, что при этом адрес массива в обоих объектах будет...
C++ Error C2065: 'SetRegistryKey' : undeclared identifier
void CContDlg::OnButton3() { CMySwitch dlg; dlg.DoModal(); int nResponse = dlg.DoModal(); if (nResponse == IDOK) { SetRegistryKey(("Cont"));
C++ Описать методы шаблонного класса http://www.cyberforum.ru/cpp-beginners/thread646557.html
#include<iostream> #include<time.h> using namespace std; template <typename T> struct Elem { T *mass; int razmer; Elem * next, * prev;
C++ Метод золотого сечения Нужно найти точку минимума унимодальной функцыи f(x) на отрезке с точностью эпсилон методом золотого сечения и модифицырованым методом Фибоначчи. f(x)=x^2+2*((x*lgx/e)-2) a=1,5 b=2 E=0,01 подробнее

Показать сообщение отдельно
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
04.09.2012, 15:55     Функции сравнения
В классе, необходимо определить функции сравнения (аналогичные операторам отношения).

Какой вариант более оптимальный:
1. Определить в лоб, только функции == и > , а остальные через них (см.пример ниже).
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
bool HugeInteger::isEqualTo(const HugeInteger &ob2){
    int i;
    
    if (sgn != ob2.sgn) return false;
    
    for(i = MAX_SIZE - 1; i>=0; i--)
        if(num[i] != ob2.num[i]) break;
    
    return (i >= 0 ? false: true);
}
bool HugeInteger::isNotEqualTo(const HugeInteger &ob2){
    return !isEqualTo(ob2);
}
bool HugeInteger::isGreaterThan(const HugeInteger &ob2){
    int i;
    
    if(sgn < ob2.sgn) return false;
    else if(sgn > ob2.sgn) return true;
    else if(sgn && ob2.sgn){
        for(i=0; i<MAX_SIZE; i++){
            if(num[i] > ob2.num[i]) return true;
            else if(num[i] < ob2.num[i]) return false;
        }
    }else if(!sgn && !ob2.sgn){
        for(i=0; i<MAX_SIZE; i++){
            if(num[i] < ob2.num[i]) return true;
            else if(num[i] > ob2.num[i]) return false;
        }
    }
 
    return false;
}
bool HugeInteger::isLessThan(const HugeInteger &ob2){
    return !isGreaterThan(ob2) && !isEqualTo(ob2);
}
bool HugeInteger::isGreaterThanOrEqualTo(const HugeInteger &ob2){
    return isGreaterThan(ob2) || isEqualTo(ob2);
}
bool HugeInteger::isLessThanOrEqualTo(const HugeInteger &ob2){
    return !isGreaterThan(ob2);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru