funkcja cin.get

0

Cześć,
Czy może mi ktoś potwierdzić, że funkcja cin.get w bibliotece iostream jest funkcją statyczną tj. można ją wywołać bez tworzenia żadnego obiektu?
Bo w innym razie jak można jej użyć bez tworzenia obiektów? :/
Trochę tego nie rozumiem...
dziękuję z góry za wyjaśnienie

0

Dokladnie tak:
http://ideone.com/FyLWVN

0

cin - jest obiektem.

0
_13th_Dragon napisał(a):

cin - jest obiektem.

Czyli dobrze rozumiem, że w pliku iostream są zdefiniowane klasy ostream i istream a jednocześnie są tam stworzone obiekty tych typów? I są one w takim razie globalnie zdefiniowane?

0

Dzięki za pomoc.
Ale czy może mi ktoś jeszcze wyjaśnić dlaczego w takim razie nie mogę stworzyć własnego obiektu, który będzie przesyłał mi znaki na ekran etc? Np. tak:

#include <iostream>
#include <ostream>
using namespace std;

void main{

ostream wczytaj;
wczytaj << "jakis tekst" << endl; //error

}

0

Bo nie czytasz dokumentacji.
http://en.cppreference.com/w/cpp/io/manip/endl

0
Shalom napisał(a):

Bo nie czytasz dokumentacji.
http://en.cppreference.com/w/cpp/io/manip/endl

Czy chodzi o to, że tu jest jakiś szablon? (jeszcze nie do końca je rozumiem)
Próbowałem wstawić coś między ostre nawiasy (np. char) ale nic nie pomogło i ciągle wywala błędy... Próbowałem również bez stosowania endl; niestety nic nie pomogło...

Natomiast tutaj: http://en.cppreference.com/w/cpp/io/cout jest tak jakby to było normalnie zdefiniowane tj. extern std::ostream cout;
Ale jak chcę u siebie tak zrobić np. extern std::ostream nowy_cout; to sama deklaracja jest ok ale próba wrzucenia czegoś za pomocą operatora "<<" już powoduje błąd...
Czy może mi ktoś pomóc to zrozumieć tj. jak stworzyć własny obiekt który będzie wyświetlał napis na ekranie?
Z góry dziękuję za pomoc!

0

Można np tak:

#include <iostream>
#include <fstream>
using namespace std;

int main()
  {
   ofstream mycout("con");
   mycout<<"abc"<<endl;
   return 0;
  }
0

dziękuję za wyjaśnienie ;-)
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1