Итак, я разбил свои файлы на несколько частей, и теперь я получаю кучу ошибок типа. Такие, как:C++ Ни один из моих файлов не имеет типа
phoneNUmber.h 'istream does not name a type'
Что значит это точно? Вот мои файлы, они довольно короткие.
Главная
#include <iostream>
#include <fstream>
#include <string>
#include "phoneEntry.h"
using namespace std;
int main()
{
PhoneEntry entry;
ifstream filezilla;
filezilla.open("phone.txt");
if(filezilla)
{
while(!filezilla.eof() && entry.readEntry(cin))
{
entry.writeEntry(cout);
}
}
else
{
cout << "Four Oh Four - File Not Found" << endl;
}
return 0;
}
Аудиодомофон
#include "phoneNumber.h"
class PhoneEntry
{
private:
PhoneNumber phone;
string firstName,
lastName;
void _writeDots(ostream& fout, int n) const;
public:
istream& readEntry(istream&);
ostream& writeEntry(ostream&) const;
};
istream& PhoneEntry::readEntry(istream& Sin)
{
Sin >> firstName >> lastName;
phone.readNumber(Sin);
return Sin;
};
ostream& PhoneEntry::writeEntry(ostream& Sout) const
{
const int num = 28;
int fill = num - ((firstName + lastName).length());
Sout << firstName << ", " << lastName;
_writeDots(Sout, fill);
phone.writeNumber(Sout);
return Sout;
};
void PhoneEntry::_writeDots(ostream& fout, int n) const
{
if(n % 2)
{
fout << ".";
}
for(int i = 0; i < n; i++)
{
fout << " .";
}
};
PhoneNumber
class PhoneNumber
{
private:
int areaCode,
prefix,
suffix;
public:
istream& readNumber(istream&);
ostream& writeNumber(ostream&) const;
};
istream& PhoneNumber::readNumber(istream& Sin)
{
Sin >> areaCode >> prefix >> suffix;
return Sin;
};
ostream& PhoneNumber::writeNumber(ostream& Sout) const
{
Sout << " " << areaCode << "-" << prefix << "-" << suffix << endl;
return Sout;
};
Вы пытались положить '#include' в свой файл PhoneNumber.h? –
, но я включил его из файла с main(), поэтому он должен просочиться прямо в phoneNumer? он отправляется в phoneEntry на номер телефона, так что я не должен его использовать? –
мой C++ - fu слабый, но спрашивает, зачем вам нужно, это будет хороший последующий вопрос. –