2017-02-06 4 views
0

Я использую C++, чтобы узнать о классах и потоках, но каждый раз, когда я пытаюсь я получаю ostream ошибки не называет типа я использую зОе пространство имен, включаю iostream, включают в себя заголовокC++ сообщение об ошибке ostream не называют типа

Uhr.cpp

#include<iostream> 
#include"uhr.h" 

using namespace std; 

Uhr::Uhr(int Stunde, int Minute, int Sekunde){ 
this -> Stunde = Stunde; 
this -> Minute = Minute; 
this -> Sekunde = Sekunde; 
} 


void Uhr::setTime(int Stunde, int Minute, int Sekunde) 
{ 
this -> Stunde = Stunde; 
this -> Minute = Minute; 
this -> Sekunde = Sekunde; 
} 

void Uhr::setOne() 
{ 
this -> Sekunde=+Sekunde; 
} 

ostream& Uhr::print(ostream& o) 
{ 
o = "Stunden " << Stunden << " Minuten " << Minuten <<" Sekunden" << Sekunden; 
return o: 
} 

ostream& operator << (ostream &o,const Uhr& u) 
{ 
return u.print(o); 
} 

uhr.h

#include<iostream> 

class Uhr 
{ 
private: 
int Stunde; 
int Minute; 
int Sekunde; 

public: 
Uhr(int Stunde = 0, int Minute = 0, int Sekunde = 0); 
void setTime(int Stunde, int Minute, int Sekunde); 
void setOne(); 
ostream& print(ostream & o); 
}; 

ostream& operator << (ostream &o,const Uhr& u); 

ошибка: uhr.h: 14: 2: ошибка: 'ostream' делает не указывать тип ostream & печать (ostream & o) const; ^ uhr.h: 17: 2: ошибка: «ostream» не называет тип ostream & оператор < < (ostream & о, Const Uhr & и);

+2

Это 'станд :: ostream' –

+0

@Yousaf не в заголовке, хотя. – Carcigenicate

+0

@Carcigenicate yeah right. пропущено это ... – Yousaf

ответ

1

изменение

ostream& print(ostream & o); 

в файле заголовка uhr.h в

std::ostream& print(std::ostream & o); 
+1

* Включить использование пространства имен std; в вашем файле заголовка uhr.h * - Нет. Плохой совет. – PaulMcKenzie

+0

@GregKikola да, я знаю это. Спасибо, что указали это. Отредактировал мой ответ. – Yousaf

+0

@PaulMcKenzie я согласен. Отредактировал мой ответ. – Yousaf

Смежные вопросы