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

Перегрузите операцию << для класса - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
06.12.2010, 17:50     Перегрузите операцию << для класса #1
Собственно говоря,сама задача: Перегрузите операцию << для класса , который будет просить ввести любую строку, а затем должен опять вывести её на экран но без больших букв и цифр
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2010, 17:50     Перегрузите операцию << для класса
Посмотрите здесь:

C++ Перегрузить операцию сложения для класса дробей
Перегрузите операторы ввода и вывода C++
C++ Производный класс не видит перегруженную операцию базового класса
Реализовать операцию вставки нового элемента в отсортированный список и операцию извлечения из списка данных C++
C++ Создать перегруженную операцию operator= для копирования строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 18:07     Перегрузите операцию << для класса #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Define Посмотреть сообщение
Собственно говоря,сама задача: Перегрузите операцию << для класса , который будет просить ввести любую строку, а затем должен опять вывести её на экран но без больших букв и цифр
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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
class reload
{
public:
    reload operator<< (string& str);
};
 
reload reload::operator<< (string& str)
{
 
    cout << "Please, Input string" << endl;
    cin >> str;
    cout << str << endl;
 
    return *this;
}
 
 
int  main()
{
 
    string str;
    reload rel;
 
    rel << str;
 
 
    system("PAUSE");
    return 0;
}
оно?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.12.2010, 18:20     Перегрузите операцию << для класса #3
Это изврат переопределять оператор << для ввода...
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 18:31     Перегрузите операцию << для класса #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Это изврат переопределять оператор << для ввода...
какое задание такая программа
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
06.12.2010, 18:47  [ТС]     Перегрузите операцию << для класса #5
если можете ,хотя бы со второй частью программы помогите...пожалуйста
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 19:03     Перегрузите операцию << для класса #6
Цитата Сообщение от Define Посмотреть сообщение
но без больших букв и цифр
их просто пропустить или перевести в строчные?

Добавлено через 8 минут
Цитата Сообщение от Define Посмотреть сообщение
если можете ,хотя бы со второй частью программы помогите...пожалуйста
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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
class reload
{
public:
    reload operator<< (string& str);
};
 
reload reload::operator<< (string& str)
{
 
    char ch[256], *ptr;
 
    cout << "Please, Input string" << endl;
    cin >> ch;
 
    ptr = ch;
    for( ; *ptr; ++ptr)
    {
        if(!(isupper(*ptr) || isdigit(*ptr)))
            cout << *ptr;
    }
 
    cout << endl;
 
    return *this;
}
 
 
int  main()
{
 
    string str;
    reload rel;
 
    rel << str;
 
 
    system("PAUSE");
    return 0;
}
Вроде так
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
06.12.2010, 19:14  [ТС]     Перегрузите операцию << для класса #7
пропустить,в смысле удалить.
последняя работает,только считывает до первого пробела
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 19:21     Перегрузите операцию << для класса #8
Цитата Сообщение от Define Посмотреть сообщение
пропустить,в смысле удалить.
последняя работает,только считывает до первого пробела
C++
1
cin
- заносит значение в строку пока не встретится первый разделитель, тебе как надо? какой разделитель? например можно по энтеру
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
06.12.2010, 19:23  [ТС]     Перегрузите операцию << для класса #9
а должно обрабатывать всю строку,т.е. до символа конца строки \0
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 19:25     Перегрузите операцию << для класса #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
 
using namespace std;
 
class reload
{
public:
    reload operator<< (string& str);
};
 
reload reload::operator<< (string& str)
{
 
    char ch[256], *ptr;
 
    cout << "Please, Input string" << endl;
    gets(ch);
 
    ptr = ch;
    for( ; *ptr; ++ptr)
    {
        if(!(isupper(*ptr) || isdigit(*ptr)))
            cout << *ptr;
    }
 
    cout << endl;
 
    return *this;
}
 
 
int  main()
{
 
    string str;
    reload rel;
 
    rel << str;
 
 
    system("PAUSE");
    return 0;
}
по энтеру
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
06.12.2010, 19:29     Перегрузите операцию << для класса #11
C++
1
    gets(ch);
Ужаснах. Сто пудов требуется решить средствами C++.
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
06.12.2010, 19:30  [ТС]     Перегрузите операцию << для класса #12
спасибо огромное))
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
06.12.2010, 19:34     Перегрузите операцию << для класса #13
Цитата Сообщение от Напильнег Посмотреть сообщение
Ужаснах. Сто пудов требуется решить средствами C++.
1. в задании не сказано
2. С подмножество С++, кто мешает им пользоваться в программах на С++

Добавлено через 1 минуту
Цитата Сообщение от Define Посмотреть сообщение
спасибо огромное))
там есть внизу кнопочка "Спасибо"
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
06.12.2010, 19:44     Перегрузите операцию << для класса #14
Цитата Сообщение от norge_goth Посмотреть сообщение
1. в задании не сказано
Если сказано перегрузить операцию <<, то обычно подразумевается использование C++ без C-шных ушей.

Цитата Сообщение от norge_goth Посмотреть сообщение
2. С подмножество С++, кто мешает им пользоваться в программах на С++
Во-первых, таки не подмножество, но это уже халивар, не будем развивать; во-вторых, так не принято; в-третьих, так слишком просто получается
Define
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 83
10.12.2010, 16:17  [ТС]     Перегрузите операцию << для класса #15
скажите пож,можно ли здесь использовать перегрузку ostream & operator << ( & , & ) ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2010, 17:31     Перегрузите операцию << для класса
Еще ссылки по теме:

Как перегрузить операцию ++ для строк C++
Создать для класса виртуальный метод, возвращающий уникальный идентификатор класса C++
Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.12.2010, 17:31     Перегрузите операцию << для класса #16
Define, << - вывод в поток. Очевидно что можно.
Yandex
Объявления
10.12.2010, 17:31     Перегрузите операцию << для класса
Ответ Создать тему
Опции темы

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