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

функция друг, перегрузка << - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа-ежедневник http://www.cyberforum.ru/cpp-beginners/thread926033.html
Дочитал книгу о C++, решил написать ежедневник с блэкджеком и погодой- открыл день, а там уже подгружаются сведения о погоде. Возможно, это бред, но больше идей для первой программы нет. Возникли следующие вопросы: 1) Как создавать приложения с графическим интерфейсом (желательно в visual studio express, есть 2012 версия)? (В книге только консоль) 2) Где мне взять сам календарь и как его...
C++ Реализуйте собственный класс строки Задание: Строка Реализуйте собственный класс строки для использования в языке C++. Класс должен поддерживать наиболее часто используемые операции со строками: .... форматирование .... Класс может быть нешаблонным. http://www.cyberforum.ru/cpp-beginners/thread926029.html
C++ цикл switch
#pragma hdrstop #include <iostream> #include <windows> using namespace std; void main() { int a; cin >> a; switch(a)
std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>]» is protected C++
Есть класс: class Expression { public: Expression(string expr, ErrorCallback errcb=0); Expression(const Expression& orig); virtual ~Expression(); // .................. private: istream in; ostream out;
C++ Подскажите, какую базу данных использовать проще всего http://www.cyberforum.ru/cpp-beginners/thread925997.html
Здравствуйте, уважаемые форумчане =) Стоит задача, написать программу.. работающую с БД.. Дело в том, что я не могу определиться, какую БД лучше использовать и какой класс взять. Нужно, чтоб мог асинхронно выполнять несколько запросов к БД. Ранее писал программу на с# и использовал sqlite, но параллельного выполнения запросов к БД там не было (либо я не смог сделать, додуматься..) Щас вот...
C++ Задача Нули Опять проблема с вводом/выводом через файлы. Как решить вот эту задачу:Нули (Время: 1 сек. Память: 16 Мб Сложность: 16%) Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. Входные данные В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр не превышает 100. Выходные... подробнее

Показать сообщение отдельно
0xtommy
Сообщений: n/a
20.07.2013, 09:56     функция друг, перегрузка <<
Доброго времени суток, Господа!
Имеется следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
class Time
    {
    private:
        int hours;
        int minutes;
    public:
        Time();
        Time(int h, int m = 0);
        ...
        friend std::ostream &operator<<(std::ostream &os, const Time &t);
    };
C++
1
2
3
4
std::ostream &operator<<(std::ostream &os, const Time &t)
{
    os << t.hours << " hours, " << t.minutes << " minutes" << std::endl;
}
Этот код перегружает оператор << и позволяет объектам Time, работать с cout (и вообще с любым ostream) т.е.:
C++
1
cout << Time(12, 0);
Выведет: 12 hours, 0 minutes
Может вопрос чисто академический)), но мне непонятно как происходит вызов перегруженного оператора в выражении:
C++
1
cout << Time(12, 0);
Если бы это была ф-я член, тогда нужно было бы писать:
C++
1
Time(12, 0) << cout;
Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru