вопросы по C++

Модератор: Модераторы разделов

Аватара пользователя
sedition
Сообщения: 556
ОС: Gentoo/MacOSX/Windows Vista

вопросы по C++

Сообщение sedition »

Всем привет. Купил книгу Бьерна Страуструпа 'Язык програмирования С++'. Начал изучать. Написал программу из примера:
bool accept()
{
cout << "Continue? Y-yes/N-no";

char answer=0;
cin>>answer;

if (answer=='y')return true;
return false;
}

пытаюсь скомпилировать:
root@notebook:~/C++/example# c++ bool.cpp -o bool
bool.cpp: In function `bool accept()':
bool.cpp:3: error: `cout' undeclared (first use this function)
bool.cpp:3: error: (Each undeclared identifier is reported only once for each
function it appears in.)
bool.cpp:6: error: `cin' undeclared (first use this function)

Подскажите, что делаю не так. Спасибо
Спасибо!
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: вопросы по C++

Сообщение Aectann »

Взяли бы сначала что-нибудь попроще, например "ООП в С++" Роберта Лафоре(для новичков идеально) Еще есть ссылка рядом http://linuxforum.ru/index.php?showtopic=1823
Ошибка вот в чем: потоковые объекты cin, cout принадлежат пространству имен std, поэтому их надо писать так: std::cin, std::cout. Или включать в программу пространство имен:
using namespace std;

P.S. Вобщем, учите С++. :)
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
sedition
Сообщения: 556
ОС: Gentoo/MacOSX/Windows Vista

Re: вопросы по C++

Сообщение sedition »

Что-то не получается:
root@notebook:~/C++/example# cat bool.cpp
bool accept()
{
std::cout << "Continue? Y-yes/N-no";

char answer=0;
std::cin>>answer;

if (answer=='y')return true;
return false;
}

root@notebook:~/C++/example# g++ bool.cpp
bool.cpp: In function `bool accept()':
bool.cpp:3: error: `cout' undeclared in namespace `std'
bool.cpp:6: error: `cin' undeclared in namespace `std'
Спасибо!
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: вопросы по C++

Сообщение Shura »

а #include <sdtdio> есть?
Rock'n'roll мертв © БГ
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: вопросы по C++

Сообщение Zeus »

1. Нужно иметь ввиду, что Страуструп в книге приводит выдержки кода, а не целый текст программы, который можно скомпилировать.
Т.е. чтобы привести это к компилируемому виду, нужно обрамить его код каким-то вспомогательным, а то и просто стандартным кодом (хотя б ф-ю main объявить).

2. В конкретном случае, нужно включить заголовочный файл iostream:
#include <iostream>
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: вопросы по C++

Сообщение Asgard »

не забывайте, что cin и cout находятся в пространстве имён std.

Код: Выделить всё

#include <iostream>

bool accept()
{
char answer = 0;

std::cout << "Continue? Y-yes/N-no" << std::endl;
std::cin>>answer;

if (answer=='y') return true;
return false;
}


или просто

Код: Выделить всё

#include <iostream>
using namespace std;

// ...
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
Аватара пользователя
sedition
Сообщения: 556
ОС: Gentoo/MacOSX/Windows Vista

Re: вопросы по C++

Сообщение sedition »

все получилось, всем большое спасибо. тема закрыта
Спасибо!
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: вопросы по C++

Сообщение powerfox »

(Shura @ May 14 2006, в 12:03) писал(а):а #include <sdtdio> есть?


Такого нет ни в С, ни в C++.
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: вопросы по C++

Сообщение Asgard »

Такого нет ни в С, ни в C++.


видимо он имел ввиду <stdio.h>
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: вопросы по C++

Сообщение powerfox »

(Asgard @ May 14 2006, в 18:34) писал(а):видимо он имел ввиду <stdio.h>


Да я понял, но человеку нужно было конкретное решение проблемы, к тому для cin и cout требуестся iostream. И привет купчинским! :)
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: вопросы по C++

Сообщение oav »

Asgard писал(а):
14.05.2006 18:34

Такого нет ни в С, ни в C++.


видимо он имел ввиду <stdio.h>

видимо он имел ввиду <cstdio> :D
Спасибо сказали:
Аватара пользователя
Asgard
Сообщения: 215
Статус: North Valfader

Re: вопросы по C++

Сообщение Asgard »

И привет купчинским!

хе-хе, спасибо ;)
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458

Re: вопросы по C++

Сообщение powerfox »

(Asgard @ May 15 2006, в 14:50) писал(а):хе-хе, спасибо

:)
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: вопросы по C++

Сообщение Shura »

Да, стормозил. Давно уже не програмлю, думал угадаю :-)
Rock'n'roll мертв © БГ
Спасибо сказали: