Wieso funktioniert das nicht?.
-
class CLIEDAT { public: //operaor << friend ostream &operator<<(ostream &output, const CLIEDAT &rhs); //operator>> friend istream &operator>>(istream &Input, CLIEDAT &r); //operator>> friend ifstream &operator>>(ifstream &File, CLIEDAT &r); //operator<< friend ofstream &operator<<(ofstream &File, CLIEDAT &r); //Construktor CLIEDAT(void):itsATNumber(NULL),itsFirstName(NULL),itsLastName(NULL),itsStreet(NULL),itsStreetNumber(NULL),itsZipCode(0){} //Destruktor ~CLIEDAT(void); //operator = const CLIEDAT operator=(const CLIEDAT &Right); //Kani CleanUp void CleanUp(void); //Epistrefh thn dieu8insh tou ATNumber char *GetAddrATNumber(void); //Epistrefh thn dieu8insh tou FirstName char *GetAddrFirstName(void); //Epistrefh tin dieu8insh tou LastName char *GetAddrLastName(void); //Epistrefh tin dieu8insh tpou onomatos tou dromou char *GetAddrStreet(void); //Epistrefh andigrafh tou ATNumber char *GetATNumber(void); //Epistrefh andigrafh FirstName char *GetFirstName(void); //Epistrefh andigrafh lastname char *GetLastName(void); //Epistrefh andigrafi tou Status bool GetStatus(void); //Epistrefh andigrafh tou dromou char *GetStreet(void); //Epistrefh antigrafi tou noumero tou dromou long int GetStreetNumber(void); //Epistrefh to noumero taxidromou long int GetZipCode(void); protected: //GeneralSet void SetGeneral(char *NewATNumber, char *NewFirstName, char *NewLsatname, char *NewStreet, long int NewStreetNumber, long int ZipCode, bool NewStatus); //Bazi timi sto ATNumber void SetATNumber(char *NewATNumber); //Dini timi sto FirstName void SetFirstName(char *NewFirstName); //Dinh timi sto Last Name void SetLastName(char *NewLastName); //Dinh timh ston dromo mas void SetStreet(char *NewStreet); //Dinh timh sto ZipCode void SetZipCode(long int NewZipCode); //Dinh timoi sto status void SetStatus(bool NewStatus); private: char *itsATNumber; char *itsFirstName; char *itsLastName; char *itsStreet; long int itsStreetNumber; long int itsZipCode; mutable bool itsStatus; }; ////////////////////////////////////////////////////////////////////// // // // Eisodos : Ostream kai ena CLIEDAT. // // // // Exodos : To ostream. // // // // Skopos : Enas operator<<. // // // // Xronos : O(8n + 2). // // // ////////////////////////////////////////////////////////////////////// ostream &operator<<(ostream &output, const CLIEDAT &Rhs) { //Dhlosh Metablhton // //Kurio Programma output << "ATNumber: " << Rhs.itsATNumber << "FirstName: " << Rhs.itsFirstName << "LastName: " << Rhs.itsLastName << "Street: " << Rhs.itsStreet << Rhs.itsStreetNumber << "ZipCode: " << Rhs.itsZipCode << endl; return output; }
Die Fehler in MS VC 6.0.
.
.
.
error C2248: 'itsZipCode' : cannot access protected member declared in class 'CLIEDAT'cliend.hpp(160) : see declaration of 'itsZipCode'
.
.
.Für alle variablen. Das kommische ist daran das es vor 3 monaten in einer vergleichbaren class so funktionierte was mache ich falsch?.
Scheiß C++.
Scheiß C.
-
weil das visual studio das nicht auflösen kann.. ist ein problem des studio 6.
so gehts:
#include <iostream> class CLIEDAT { public: //operaor << friend std::ostream &operator<<(std::ostream &output, const CLIEDAT &rhs); //operator>> friend std::istream &operator>>(std::istream &Input, CLIEDAT &r); //operator>> friend std::ifstream &operator>>(std::ifstream &File, CLIEDAT &r); //operator<< friend std::ofstream &operator<<(std::ofstream &File, CLIEDAT &r); //Construktor CLIEDAT(void):itsATNumber(NULL),itsFirstName(NULL),itsLastName(NULL),itsStreet(NULL),itsStreetNumber(NULL),itsZipCode(0){} //Destruktor ~CLIEDAT(void); //operator = const CLIEDAT operator=(const CLIEDAT &Right); //Kani CleanUp void CleanUp(void); //Epistrefh thn dieu8insh tou ATNumber char *GetAddrATNumber(void); //Epistrefh thn dieu8insh tou FirstName char *GetAddrFirstName(void); //Epistrefh tin dieu8insh tou LastName char *GetAddrLastName(void); //Epistrefh tin dieu8insh tpou onomatos tou dromou char *GetAddrStreet(void); //Epistrefh andigrafh tou ATNumber char *GetATNumber(void); //Epistrefh andigrafh FirstName char *GetFirstName(void); //Epistrefh andigrafh lastname char *GetLastName(void); //Epistrefh andigrafi tou Status bool GetStatus(void); //Epistrefh andigrafh tou dromou char *GetStreet(void); //Epistrefh antigrafi tou noumero tou dromou long int GetStreetNumber(void); //Epistrefh to noumero taxidromou long int GetZipCode(void); protected: //GeneralSet void SetGeneral(char *NewATNumber, char *NewFirstName, char *NewLsatname, char *NewStreet, long int NewStreetNumber, long int ZipCode, bool NewStatus); //Bazi timi sto ATNumber void SetATNumber(char *NewATNumber); //Dini timi sto FirstName void SetFirstName(char *NewFirstName); //Dinh timi sto Last Name void SetLastName(char *NewLastName); //Dinh timh ston dromo mas void SetStreet(char *NewStreet); //Dinh timh sto ZipCode void SetZipCode(long int NewZipCode); //Dinh timoi sto status void SetStatus(bool NewStatus); private: char *itsATNumber; char *itsFirstName; char *itsLastName; char *itsStreet; long int itsStreetNumber; long int itsZipCode; mutable bool itsStatus; }; ////////////////////////////////////////////////////////////////////// // // // Eisodos : Ostream kai ena CLIEDAT. // // // // Exodos : To ostream. // // // // Skopos : Enas operator<<. // // // // Xronos : O(8n + 2). // // // ////////////////////////////////////////////////////////////////////// std::ostream &operator<<(std::ostream &output, const CLIEDAT &Rhs) { //Dhlosh Metablhton // //Kurio Programma output << "ATNumber: " << Rhs.itsATNumber << "FirstName: " << Rhs.itsFirstName << "LastName: " << Rhs.itsLastName << "Street: " << Rhs.itsStreet << Rhs.itsStreetNumber << "ZipCode: " << Rhs.itsZipCode << std::endl; return output; }
-
Funktioniert auch nicht
. Ich habe so eine art "Inline" funktion benutzt jetzt geht es, obschon ich diesen stil hase.
class CLIEDAT { public: friend std::ostream &operator<<(std::ostream &output, const CLIEDAT &Rhs) { //Dhlosh Metablhton // //Kurio Programma output << "ATNumber: " << Rhs.itsATNumber << "FirstName: " << Rhs.itsFirstName << "LastName: " << Rhs.itsLastName << "Street: " << Rhs.itsStreet << Rhs.itsStreetNumber << "ZipCode: " << Rhs.itsZipCode << std::endl; return output; } //operaor << // friend std::ostream &operator<<(std::ostream &output, const CLIEDAT &rhs); //operator>> friend std::istream &operator>>(std::istream &Input, CLIEDAT &r);
Ich verusche dann später dein tip zu programmieren (ja es ist schon spät auch für copy - paste), erst muss das prog. funktionieren.