Hallo erstmal so früh am morgen 
Ich bin vor Kurzem mit dem Programmieren in C++ mit dem Buch 'C++ in 21 Tagen' angefangen. Ich bin Problemlos bis Tag 6 gekommen. Am Ende des Tages sollte man eine ganz simple Klasse anhand ein paar Vorgaben aus dem Buch selbst erstellen. Okay, hab die Klasse geschrieben, was auch kein sehr großes Problem darstelle. Beim Kompilieren allerdings kamen eine ganze Reihe Fehler, die ich nicht so ganz verstehe. Ich würde darauf tippen, dass es Compiler-Fehler sind. Ich hab den Source-Code der Klasse öfters überprüft, aber ich kann keinen Fehler finden und weiss jetzt echt nicht mehr weiter. Ich hoffe, ihr könnt mir helfen.
Ich nutze Gentoo Linux und gcc:
gcc-Version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
Die Klasse habe ich, wie es im Buch stand in einer Header-Datei *.hpp und eine *.cpp aufgeteilt:
empl.hpp:
class Employee
{
private:
int Age;
int YearsOfService;
int Salary;
public:
int GetAge() const;
int GetYearsOfService() const;
int GetSalary() const;
void SetAge(int age);
void SetYearsOfService(int years);
void SetSalary(int salary);
};
empl.cpp:
#include <iostream>
using namespace std;
//#include "empl.hpp"
class Employee
{
private:
int Age;
int YearsOfService;
int Salary;
public:
int GetAge() const;
int GetYearsOfService() const;
int GetSalary() const;
void SetAge(int age);
void SetYearsOfService(int years);
void SetSalary(int salary);
};
Employee::GetAge()
{
return Age;
}
Employee::SetAge(int age)
{
Age = age;
}
Employee::GetYearsOfService();
{
return YearsOfService;
}
Employee::SetYearsOfService(int years);
{
YearsOfService = years;
}
Employee::GetSalary()
{
return Salary;
}
Employee::SetSalary(int salary)
{
Salary = salary;
}
int main()
{
Employee Hans;
Employee Berta;
Hans.SetAge(50);
Berta.SetAge(43);
cout << "Hans ist " << Hans.GetAge << " Jahre alt.\n";
cout << "Berta ist " << Berta.GetAge << " Jahre alt.\n";
Hans.SetYearsOfService(33);
Berta.SetYearsOfService(25);
cout << "Hans ist schon seit " << Hans.GetYearsOfService << " Jahren bei uns beschäftigt.\n";
cout << "Berta ist schon seit " << Berta.GetYearsOfService << " Jahren bei uns beschäftigt.\n";
Hans.SetSalary(35500);
Berta.SetSalary(28000);
cout << "Hans verdient " << Hans.GetSalary << " Euro.\n";
cout << "Berta verdient " << Berta.GetSalary << " Euro.\n";
return 0;
}
Zu guter letzt dann noch die Fehlermeldungen:
std::basic_ostream<_CharT, _Traits>:
perator<<(double) [with _CharT = char,
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:219: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>:
perator<<(float) [with _CharT = char, _Traits =
std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:265: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
perator<<(long double) [with _CharT =
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:289: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
perator<<(const void*) [with _CharT =
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:313: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
perator<<(std::basic_streambuf<_CharT,
_Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:436: error:
std::basic_ostream<_CharT, _Traits>&
std:
perator<<(std::basic_ostream<_CharT, _Traits>&, char) [with _CharT =
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:512: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, char) [with _Traits =
std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:447: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, signed char) [with
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:452: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, unsigned char) [with
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:572: error:
std::basic_ostream<_CharT, _Traits>&
std:
perator<<(std::basic_ostream<_CharT, _Traits>&, const char*) [with
_CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:616: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, const char*) [with
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:486: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, const signed char*)
[with _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:491: error:
std::basic_ostream<char, _Traits>&
std:
perator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)
[with _Traits = std::char_traits<char>]
Von diesen Meldungen kommen allerdings so viele, dass der Verlauf meiner Console zu kurz ist, um zur Eingabe des Befehls 'g++ empl.cpp' hochzuscrollen.
Ich hoffe auf eure Hilfe.
phearx
Ich bin vor Kurzem mit dem Programmieren in C++ mit dem Buch 'C++ in 21 Tagen' angefangen. Ich bin Problemlos bis Tag 6 gekommen. Am Ende des Tages sollte man eine ganz simple Klasse anhand ein paar Vorgaben aus dem Buch selbst erstellen. Okay, hab die Klasse geschrieben, was auch kein sehr großes Problem darstelle. Beim Kompilieren allerdings kamen eine ganze Reihe Fehler, die ich nicht so ganz verstehe. Ich würde darauf tippen, dass es Compiler-Fehler sind. Ich hab den Source-Code der Klasse öfters überprüft, aber ich kann keinen Fehler finden und weiss jetzt echt nicht mehr weiter. Ich hoffe, ihr könnt mir helfen.
Ich nutze Gentoo Linux und gcc:
gcc-Version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
Die Klasse habe ich, wie es im Buch stand in einer Header-Datei *.hpp und eine *.cpp aufgeteilt:
empl.hpp:
class Employee
{
private:
int Age;
int YearsOfService;
int Salary;
public:
int GetAge() const;
int GetYearsOfService() const;
int GetSalary() const;
void SetAge(int age);
void SetYearsOfService(int years);
void SetSalary(int salary);
};
empl.cpp:
#include <iostream>
using namespace std;
//#include "empl.hpp"
class Employee
{
private:
int Age;
int YearsOfService;
int Salary;
public:
int GetAge() const;
int GetYearsOfService() const;
int GetSalary() const;
void SetAge(int age);
void SetYearsOfService(int years);
void SetSalary(int salary);
};
Employee::GetAge()
{
return Age;
}
Employee::SetAge(int age)
{
Age = age;
}
Employee::GetYearsOfService();
{
return YearsOfService;
}
Employee::SetYearsOfService(int years);
{
YearsOfService = years;
}
Employee::GetSalary()
{
return Salary;
}
Employee::SetSalary(int salary)
{
Salary = salary;
}
int main()
{
Employee Hans;
Employee Berta;
Hans.SetAge(50);
Berta.SetAge(43);
cout << "Hans ist " << Hans.GetAge << " Jahre alt.\n";
cout << "Berta ist " << Berta.GetAge << " Jahre alt.\n";
Hans.SetYearsOfService(33);
Berta.SetYearsOfService(25);
cout << "Hans ist schon seit " << Hans.GetYearsOfService << " Jahren bei uns beschäftigt.\n";
cout << "Berta ist schon seit " << Berta.GetYearsOfService << " Jahren bei uns beschäftigt.\n";
Hans.SetSalary(35500);
Berta.SetSalary(28000);
cout << "Hans verdient " << Hans.GetSalary << " Euro.\n";
cout << "Berta verdient " << Berta.GetSalary << " Euro.\n";
return 0;
}
Zu guter letzt dann noch die Fehlermeldungen:
std::basic_ostream<_CharT, _Traits>:
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:219: error:
std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
_Traits>:
std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:265: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:289: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:313: error:
std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>:
_Traits>*) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:436: error:
std::basic_ostream<_CharT, _Traits>&
std:
char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:512: error:
std::basic_ostream<char, _Traits>&
std:
std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:447: error:
std::basic_ostream<char, _Traits>&
std:
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:452: error:
std::basic_ostream<char, _Traits>&
std:
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:572: error:
std::basic_ostream<_CharT, _Traits>&
std:
_CharT = char, _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/bits/ostream.tcc:616: error:
std::basic_ostream<char, _Traits>&
std:
_Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:486: error:
std::basic_ostream<char, _Traits>&
std:
[with _Traits = std::char_traits<char>]
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/include/g++-v3/ostream:491: error:
std::basic_ostream<char, _Traits>&
std:
[with _Traits = std::char_traits<char>]
Von diesen Meldungen kommen allerdings so viele, dass der Verlauf meiner Console zu kurz ist, um zur Eingabe des Befehls 'g++ empl.cpp' hochzuscrollen.
Ich hoffe auf eure Hilfe.
phearx