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

Создать структуру Money для работы с денежными суммами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ отладка Code::Blocks http://www.cyberforum.ru/cpp-beginners/thread159648.html
Помогите кто разбирается в этом:(. Недавно скачал новые версии Code::Blocks (10.05) codeblocks-10.05mingw-setup и codeblocks-10.05setup. Попробовал их установить : в версии mingw пишу обычный код...
C++ не работает шаблонная функция #include <iostream> #include <stdio.h> #include <list> using namespace std; template <class V, class E> struct graph { struct v_info; struct e_info; http://www.cyberforum.ru/cpp-beginners/thread159647.html
Аналог ord и chr в С++ C++
сабж.
Директивы компилятора C++
Доброго времени суток! Меня интересует что за директивы, -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 и где можно о них почитать. Почему именно эти директивы. Дело в том что этот наборчик...
C++ Вставка кода в exe-ый файл http://www.cyberforum.ru/cpp-beginners/thread159600.html
люди напишите кто нибудь свой скайп,кто в с++ достаточно шарит , нужно код вставить в exe-ный файл....а иначе мысль такая,ексешный файл он от игры нужно переписать голосование что бы зайдя на...
C++ Управление LPT портом под FreeBSD Здравствуйте! Пытаюсь откомпилировать следующий код под FreeBSD: #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> #include </sys/dev/ppbus/ppi.h> #include... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
16.08.2010, 16:44
Цитата Сообщение от NewMoon Посмотреть сообщение
мне нужно именно через структуру
Класс от структуры отличается только методом доступа по умолчанию к членам:
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
struct Money {
private:
    long int m_nRoubles;
    unsigned int m_nCopecks;
    void checkOver(){
        int sign = ( m_nRoubles < 0 ) ? -1 : 1;
        m_nRoubles += m_nCopecks / 100 * sign;
        m_nCopecks %= 100;
    }
 
public:
    Money() : m_nRoubles(0), m_nCopecks(0) {}
    Money(long int r, unsigned int c) : m_nRoubles(r), m_nCopecks(c) {
        checkOver();
    }
    Money operator + (const Money& another) const {
        Money result(*this);
        result.m_nCopecks += another.m_nCopecks;
        result.m_nRoubles += another.m_nRoubles;
        result.checkOver();
        return result;
    }
 
    friend std::ostream& operator << (std::ostream& ost, const Money& m){
        ost << m.m_nRoubles << '.' << std::setfill('0') << std::right << std::setw(2) << m.m_nCopecks;
        return ost;
    }
    friend std::istream& operator >> (std::istream& ist, Money& m){
        ist >> m.m_nRoubles;
        ist.ignore(1);
        ist >> m.m_nCopecks;
        m.checkOver();
        return ist;
    }
};
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru