Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача: "Hello World" для продвинутых

13K
06 марта 2011 года
MihaZzz
18 / / 06.03.2006
Попалась мне как-то раз задачка на знание C++.
Дается код программы:
 
Код:
#include<iostream>

int main()
{
   return 0;
}

Нужно дописать код, не изменяя функции main, чтобы программа выводила "Hello World".

P.S.
Свой вариант ответа пока не пишу. Интересно сначала посмотреть на другие.
278
06 марта 2011 года
Alexander92
1.1K / / 04.08.2008
 
Код:
#include<iostream.h>
#define return cout << "Hello World"; return

int main()
{
   return 0;
}


Прошу. :)
13K
06 марта 2011 года
MihaZzz
18 / / 06.03.2006
Цитата: Alexander92
 
Код:
#define return cout << "Hello World"; return

Прошу. :)



Это не совсем честный ответ ;)
Здесь все-таки функция main неявно изменена.
Нужно чтобы функция main как была так и оставалась - вывод должен происходить не в ней!

7
06 марта 2011 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: MihaZzz
Нужно чтобы функция main как была так и оставалась - вывод должен происходить не в ней!

ок
Консольное приложение в VC++.Функция main() остаётся,как была!

 
Код:
#include <iostream.h>
int _tmain(int argc,_TCHAR* argv[]){
    cout<<"Hello,world!"<<endl;
    return 0;
}


И да,предыдущий ответ был достаточно честен.Ты изменения функции не видишь,оно происходит на этапе компиляции
278
06 марта 2011 года
Alexander92
1.1K / / 04.08.2008
Код:
#include <iostream.h>

class CSomeClass {
public:
 CSomeClass() {
  cout << "Hello World!";
 }
};

CSomeClass someObject;

int main() {
 return 0;
}


Такой ответ устроит? :)
13K
06 марта 2011 года
MihaZzz
18 / / 06.03.2006
Цитата:
Такой ответ устроит? :)



Да ;) Я тоже так ответил. Это был вопрос на собеседовании на знание C++ и ООП.

278
06 марта 2011 года
Alexander92
1.1K / / 04.08.2008
Ну тогда вот вам еще один вариант:

 
Код:
#include <iostream.h>

string s = "Hello World!";
ostream& os = operator<<(cout, s.c_str());

int main() {
 return 0;
}
13K
06 марта 2011 года
MihaZzz
18 / / 06.03.2006
Этот вариант еще оригинальнее ;)
Только зачем создавать переменную string?
278
06 марта 2011 года
Alexander92
1.1K / / 04.08.2008
Ну как, чтобы больше кода было. :D
32K
07 марта 2011 года
Rififi
54 / / 04.06.2008
Код:
#include <windows.h>
#include <iostream>

#pragma comment (linker, "/ENTRY:mainCRTStartup /defaultlib:kernel32.lib /nod:msvcrt.lib /subsystem:\"console\"")

extern "C" void __cdecl mainCRTStartup()
{
   DWORD tmp = 0;
   WriteConsoleW(
    GetStdHandle(STD_OUTPUT_HANDLE),
    L"Hello world",
    sizeof(L"Hello world") / sizeof(wchar_t),
    &tmp, NULL
    );
   ExitProcess(0);
}

int main() {
 return 0;
}


ps. main в принципе можно вообще убрать ((((:
7
07 марта 2011 года
@pixo $oft
3.4K / / 20.09.2006
А ещё console в кавычки брать необязательно,и tmp инициализировать тоже;)

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог