Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Игра в С++, 8-й тайм 
V
    Опции темы
FiMa1
Дата 13.9.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



И снова рад приветствовать вас, друзья! Вот чрезвычайно простая задачка:
Не меняя кода main, сделать чтобы печатался текст "abc". Предлагаем варианты!
Код
int main()
{
    cout << "b";

    return 0;
}

PM   Вверх
DjoNIK
Дата 13.9.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Тут нет #include, следовательно можно подключить myiostream, где будет перегружен cout?


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
jurgal
Дата 13.9.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 29.6.2007

Репутация: нет
Всего: нет



или перегрузить оператор <<
PM MAIL   Вверх
Fazil6
Дата 13.9.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(DjoNIK @  13.9.2007,  10:58 Найти цитируемый пост)
где будет перегружен cout?

не cout , а оператор <<


PM MAIL   Вверх
DjoNIK
Дата 13.9.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



jurgal, я это и хотел сказать!
smile
Я на самом деле даже не знаю как перегрузить ОБЪЕКТ cout smile

Это сообщение отредактировал(а) DjoNIK - 13.9.2007, 11:25


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
FiMa1
Дата 13.9.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Please put your code here  smile 
PM   Вверх
Fazil6
Дата 13.9.2007, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Код

std::ostream & operator << (std::ostream & o, const char[])
{
        return o.write("abc", 3);

}


Это сообщение отредактировал(а) Fazil6 - 13.9.2007, 11:07
PM MAIL   Вверх
Damarus
Дата 13.9.2007, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 6
Всего: 29



Код

#include <iostream>

using namespace std;

ostream& operator << (ostream& s, const char* d)
{
        s.write("abc", 3); 
        return s;
}

int main()
{
        cout << "b";

        return 0;
}


PM MAIL ICQ Jabber   Вверх
DjoNIK
Дата 13.9.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



А можно сделать так:

Код

#include <iostream>

namespace mystd
{
  std::ostream& operator<<(std::ostream& s, const char* ch)
  {
    s<<"abc";
    return s;
  }
}

using namespace mystd;

и
Код

int main()
{
    cout << "b";

    return 0;
}


Без Fazil6 бы не работало! Опыт дело наживное smile

Это сообщение отредактировал(а) DjoNIK - 13.9.2007, 11:23


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
zkv
Дата 13.9.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



или повеселее, чтобы main тоже не впустую пахала smile
Код

std::ostream & operator << (std::ostream & o, const char[]str )
{
        o << 'a' << str[0]  << 'c';
        return o;
}


PM MAIL   Вверх
FiMa1
Дата 13.9.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



 smile  Some another variants?
PM   Вверх
Fazil6
Дата 13.9.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(DjoNIK @  13.9.2007,  11:09 Найти цитируемый пост)
А можно сделать так:

нельзя
PM MAIL   Вверх
DjoNIK
Дата 13.9.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Задачка пошла на УРА!!!
smile

Добавлено через 1 минуту и 28 секунд
Цитата

Цитата

А можно сделать так:
 
нельзя

Почему?


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Fazil6
Дата 13.9.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(DjoNIK @  13.9.2007,  11:12 Найти цитируемый пост)
Почему?

покача...у вопервых у тя была не ссылка, во вторых  return вообще нет , а в третих хватит и вовторых
PM MAIL   Вверх
FiMa1
Дата 13.9.2007, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 23.9.2006

Репутация: 5
Всего: 6



Цитата(zkv @ 13.9.2007,  11:09)
или повеселее, чтобы main тоже не впустую пахала smile
Код

std::ostream & operator << (std::ostream & o, const char[]str )
{
        o << 'a' << str[0]  << 'c';
        return o;
}

 smile  'operator<<' : recursive on all control paths, function will cause runtime stack overflow
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0837 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.