010
21.01.2004, 22:19 Uhr
0xdeadbeef
Gott (Operator)
|
std::string ist kein Befehl, sondern ein Datentyp. Eine Klasse, um genau zu sein - genau so wie dein Employee. std::string speichert eine Zeichenkette und bietet eine ganze Reihe an Möglichkeiten, sie zu verarbeiten.
Was dein Programm angeht, so wäre es sinnvoller, die Daten außerhalb der Klasse einzulesen und innerhalb der Klasse nur zuzuweisen. In Code sähe das so aus:
C++: |
#include <iostream> #include <string>
class Employee { public: int GetAge(); void SetAge(int age); int GetYearsOfService(); void SetYearsOfService(int year); int GetSalary(); void SetSalary(int salary); std::string GetName(); void SetName(std::string name); private: int itsAge; int itsYears; int itsSalary; std::string itsName; };
std::string Employee::GetName() { return itsName; } void Employee::SetName(std::string name) { itsName=name; } int Employee::GetAge() { return itsAge; } void Employee::SetAge(int age) { itsAge=age; } int Employee::GetYearsOfService() { return itsYears; } void Employee::SetYearsOfService(int years) { //Jetzt du } int Employee::GetSalary() { return itsSalary; } void Employee::SetSalary(int salary) { //Jetzt du }
void main() { Employee name; int age, salary, years_of_service; std::string name;
std::cout << "Name: " << std::flush; std::getline(std::cout, name); std::cout << "Alter: " << std::flush; std::cin >> age; std::cout << "Gehalt: " << std::flush; std::cin >> salary; std::cout << "Jahre: " << std::flush; std::cin >> salary;
name.SetName(name); name.SetAge(age); name.SetSalary(salary); name.SetYearsOfService(years_of_service);
std::cout << name.GetName() << " ist ein Mitarbeiter der " << name.GetAge() << " Jahre alt ist" << std::endl; << name.GetSalary() << " Euro verdient" <<" und seit " << name.GetYearsOfService() << " Jahren dabei ist" <<endl; }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |