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

Перегруженная функция сравнения двух дат - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача на сообразительность http://www.cyberforum.ru/cpp-beginners/thread922898.html
На собеседовании был задан следующий вопрос. Дан псевдокод бесконечного цикла. int x; x=.... while(true) { x=.... printf("%d,"x); } какое значение или выражение нужно присвоить х, чтобы цикл все время выдавал 6,7,6,7....?
C++ «сохранение» консольной программы Подскажите пожалуйста, каким образом можно сохранить консольную программу, так чтобы ее можно было передать к примеру моим друзьям у которых нет IDE и компиляторов? Желательно как это сделать в Эклипсе, на крайний случай - Qt или Visual studio. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread922895.html
Ошибка в вызове функции C++
Здравствуйте, помогите исправить ошибку в вызове функции. Привожу часть кода: int main(int argc, char *argv) { ShowCopyright(); // функция вывода прав копирайта if(argc == 1) // если не введена команда то выводим помощь { cout << "Введена неизвестная команда, прочти помощь или введи команду help" << endl; ShowHelp(); /// функция вывода помощи
Определение чисто виртуальных функций в потомках C++
Можно ли вместо определения чисто виртуальной функции в классе-потомке написать эту самую функцию без тела? Т.е. она как бы есть, но ее как бы нет, ибо конкретно этому классу она как таковая не нужна, но и абстрактным он не является...
C++ Как обычную переменную на время сделать константой? http://www.cyberforum.ru/cpp-beginners/thread922850.html
Как обычную переменную на время сделать константой?
C++ Насколько нужно выучить C++, перед тем как переходить на C#? Я изучаю программирование (язык С++) дома, в институте наверно тоже скоро будем его изучать. Я знаю, что C++ очень полезно знать и владение им на хорошем уровне всегда приветствуется. Но меня очень волнует, что сейчас везде стали делать акцент на C# и Java и я боюсь, что сейчас, начав изучать C++, я теряю время, которое мог бы потратить на изучение C#. Например, некоторые мои одногруппники сейчас... подробнее

Показать сообщение отдельно
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
14.07.2013, 13:59     Перегруженная функция сравнения двух дат
Как сократить функцию которая сравнивает две даты?
Получилось кое-как, да и еще предупреждение показывает, что значение возвращается не при всех путях выполнения

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
class CDate
{
public:
    explicit CDate(int day=1, int month=1, int year=2000);
    explicit CDate(const CDate &copy);
 
    bool operator<(const CDate &right);
    bool operator<=(const CDate &right);
 
private:
    int mDay, mMonth, mYear;
};
 
 
 
bool CDate::operator<(const CDate &right)
{
    if (mYear<right.mYear) return true;             // год меньше
    
    if (mYear==right.mYear)                         // года одинаковые
    {
        if (mMonth<right.mMonth) return true;
 
        if (mMonth==right.mMonth)                   // одинаковый год + одинаковый месяц
        {
            if (mDay<right.mDay) return true;
            if (mDay>=right.mDay) return false;
        }
 
        if (mMonth > right.mMonth) return false;
    }
 
    if (mYear > right.mYear) return false;          // год больше
}
 
 
bool CDate::operator<=(const CDate &right)
{
    if (mYear<right.mYear) return true;
 
    if (mYear==right.mYear)                         // одинаковые года
    {
        if (mMonth<right.mMonth) return true;
 
        if (mMonth==right.mMonth)                   // одинаковые года + одинаковые месяцы
        {
            if (mDay<=right.mDay) return true;
            else return false;
        }
 
        if (mMonth>right.mMonth) return false;
    }
 
    if (mYear>right.mYear) return false;
}


warning C4715: CDate::operator<: значение возвращается не при всех путях выполнения
warning C4715: CDate::operator<=: значение возвращается не при всех путях выполнения

Может есть более простой способ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru