Sztring osztály készítése

Tervezzünk meg egy általános célú String osztályt, amely támogatja a összefűzést (+), összehasonlítást, a többszörös értékadást (s1 = s2 = s3;), az egyes karakterek elérését a [] operátorral, illetve képes együttműködni a nullterminált C sztringekkel (oda-vissza konverzió), valamint képes a szabványos kimenetre kiírni magát, és a szabványos bemenetről beolvasni az adatait!
Deklaráljuk az osztály tagváltozóit és tagfüggvényeit a fentieknek megfelelően! (implementáció nélkül)



A megoldásért kattints ide!
	class String
	{
		// A karakterek aktuális száma:
		unsigned elementsNum;

		// A karaktereket tartalmazó memóriaterületre mutató pointer:
		char *pData;


   public: // Argumentum nélküli konstruktor: String(); // Másoló konstruktor: String(const String &string); // Egy NULL végu sztringet váró konverziós konstruktor // Ez felel a char*-> String konverzióért String(const char* str); // A destruktor: ~String(); // Visszaadja a megadott pozícióban lévo karaktert, egyébként nullát: char& operator[](unsigned pos); // Konstans objektumokat is le szeretnénk kérdezni const char& operator[](unsigned pos)const; // Összefuz két Stringet String operator+(const String& theOther) const; String& operator=(const String& theOther); bool operator==(const String& theOther) const; bool operator!=(const String& theOther) const; // Visszaad egy csak olvasható hozzáférést a stringhez, ez felel a String-> char* konverzióért operator const char*()const;
                       // kiirja/beolvassa a sztringet a kimeneti/bemeneti folyamon keresztül                        friend std::ostream &operator<<(std::ostream &os, const String &str);
                       friend std::istream &operator>>(std::istream &is, const String &str);
   
         };




2008.01.19. 18:15:36 |  Permalink  |  Hozzászólások száma: 0  |  Tárgyszavak: Operátor túlterhelés


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások