[Noobie] Problem mit Klassen
-
#include <iostream> #include <conio.h> using namespace std; class Employee { private: int itsAge; public: int GetAge() const; void SetAge(int age); }; Employee::SetAge(int age) { age=itsAge; } Employee::GetAge() const { return itsAge; } int main() { Employee Peter; Peter.SetAge(25); cout << "Peter ist >> " << Peter.GetAge() << " << Jahre alt!"; getch(); }Bei diesem Code bekommen ich folgenden Compiler-Fehler:
[C++ Fehler] hello.cpp(16): E2316 'Employee::SetAge(int)' ist kein Element von 'Employee'
Warum? Bei GetAge() gehts doch auch, oder?
und muss ich in Zeile 17 schreiben:
itsAge=age;
oder so wies schon dasteht?
danke

-
Puh...der ganze code ist ein wenig buggy...
also dir fehlen bei den deklarationen mal die rückgabewerttypen:
void und int...
und es muss itsAge=age;
ist ja logisch willst ja dem Attribut was zuweisen
Hier das funktioniert...
#include <iostream> #include <conio.h> using namespace std; class Employee { private: int itsAge; public: int GetAge(); void SetAge(int age); }; void Employee::SetAge(int age) { itsAge=age; } int Employee::GetAge() { return itsAge; } int main() { Employee Peter; Peter.SetAge(25); cout << "Peter ist >> " << Peter.GetAge() << " << Jahre alt!"; getch(); }
-
ach natürlich
wie blöd von mir ^^ danke 
-
Hallo
Bitte beachte : Wenn dein Problem nicht mit VCL-spezifischen Klassen/Funktionen zu tun hat (AnsiString, TEdit...) gehört deine Frage ins C++ Forum.
bis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
und das es so schöner ausschaut
Und das using namespace nicht in einen Header gehört ...#if !defined (EMPLOYEE_H__INCLUDED) #define EMPLOYEE_H__INCLUDED class Employee { public: Employee(const unsigned short age) : m_nAge(age) {} private: unsigned short m_nAge; public: unsigned short get_age() const { return m_nAge; } void set_age(const unsigned short age) { m_nAge = age; } }; #endif // EMPLOYEE_H__INCLUDED#include <iostream> #include "Employee.h" int main() { Employee Peter(25); std::cout << "Peter ist " << Peter.get_age() << " Jahre alt!" << std::endl; }