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

Перегрузка оператора << - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ День добрый...и снова матрицы) http://www.cyberforum.ru/cpp-beginners/thread255807.html
День добрый!) не могу "допедрить" что называется несколько задач: *вывод квадратной матрицы по слоям(может кто сталкивался). *вычисление цепной дроби 1/1+1/2+1/3...... получаеся трех этажные и...
C++ с чего начать? Наверно миллионы раз темы были подобные=) вопросы: начать изучать С или С++ сразу? сам изучал pascal, Delphi и так понял что С и С++ примерно тем же отличаються друг от друга, думаю можно сразу... http://www.cyberforum.ru/cpp-beginners/thread255794.html
Создание окна для программы C++
Всем доброго времени суток!=) Помогите пожалуйста:написала программу для расчета формулы, но еще надо сделать так чтобы открывалось отдельное окно для ввода данных для формулы, а потом окно с...
C++ Как вывести list<string>?
list<string> the_list_input;
C++ Дерево разбора http://www.cyberforum.ru/cpp-beginners/thread255765.html
Вообщем суть - нужно уметь распарсить любую логическую формулу и затем сделать с ней нечто по заданию (курсовик). Спросили у препода как лучше, он сказал, что лучше через дерево... Ну с деревом...
C++ что-то не так в кои-то веки добился того что компилятор c-free не ругается на мой модуль.но использовать там я его не могу. решил запустить на visual studio. создал новый проект,в него отправил код из основной... подробнее

Показать сообщение отдельно
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
12.03.2011, 11:25
<< это оператор вывода все-таки...
как понимаю вам нужно что-то типа такого:

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
using namespace std;
class CTimeCycle
{
    int m_hours;
    int m_minutes;
 
public:
    CTimeCycle(){m_hours=0;m_minutes=0;}
    CTimeCycle(int x,int y){m_hours=x;m_minutes=y;}
    ~CTimeCycle(){}
 
    int  GetHour ();
    int  GetMinute();
    void GetTime (char *buf);
 
    friend ostream& operator << (ostream& s, CTimeCycle& f);
    friend istream& operator >> (istream& s, CTimeCycle& f);
};
 
void CTimeCycle::GetTime (char *buf)
{ 
    /*int new_hours;
    new_hours=m_hours;
    if(m_hours>=13&&m_hours<24)
        m_hours=m_hours-12;
 
    if (new_hours>=12)
        sprintf(buf,"%02d:%02d:%02dpm",m_hours,m_minutes);
    if (new_hours>0&&new_hours<12) 
        sprintf(buf,"%02d:%02d:%02dam",m_hours,m_minutes);
    if (new_hours==0) 
        sprintf(buf,"12:%02d:%02dam",m_hours,m_minutes);
 
    return;*/
}
 
ostream& operator << (ostream& s, CTimeCycle& f)
{
    s << f.m_hours << ":" << f.m_minutes;
    return s;
}
 
istream& operator >> (istream& s, CTimeCycle& f)
{
    s >> f.m_hours >> f.m_minutes;
    return s;
}
 
 
int main()
{
    CTimeCycle time_cycle_1(10,23);
    char buf[32];
 
    /*while(1)
    {
        printf("Please, type a time ('q' to exit) [hh:mm:ss]: ");
        scanf("%s",buf);
        if(!strcmp(buf1,"q")) break;
        time_cycle_1.SetTime(buf1);
        if (!time_cycle_1.SetTime(buf1))
        {
            printf("The time You have typed is invalid.\n");
            continue;
        }
 
        time_cycle_1<<(1);  
    }*/
    cin>>time_cycle_1;
    cout<<time_cycle_1;
    system("pause");
    return 0;
}
Закоментировал что не надо мне было, показал пример ввода-вывода, думаю разберетесь и сможете под себя подправить, если не выйдет - пишите.

Добавлено через 20 минут
Кажется я немного недопонял)

Если нужно аналогичное time_cycle_1.GetTime(buf1);

C++
1
2
3
4
5
6
7
8
9
10
11
void operator>>(int t);
void operator>>(char* buf);
 
void CTimeCycle::operator >> (int t)
{
    m_hours=t;//ну или что там для инта
}
void CTimeCycle::operator >> (char* buf)
{
    //а здесь ставите тоже самое что и в GetTime(char* buf);
}
И тогда
C++
1
2
time_cycle_1>>1;//делает часы 1
time_cycle_1>>"1";//будет делать тоже что и GetTime
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru