Skip to content
Snippets Groups Projects
Select Git revision
  • fd069d838ec7e80fc530b1e6514cdc2b725c53c6
  • master default protected
2 results

string5.cpp

Blame
  • string5.cpp 5.28 KiB
    /**
     *
     * \file string5_kesz.cpp
     *
     * Itt kell megvalĂłsĂ­tania a hiĂĄnyzĂł tagfĂźggvĂŠnyeket.
     * SegĂ­tsĂŠgĂźl megadtuk a C-ben megĂ­rt vĂĄltozatban (string1.c) hasznĂĄlt fĂźggvĂŠnyneveket.
     *
     * Ha valamit INLINE-kĂŠnt valĂłsĂ­t meg, akkor annak a .h-ba kell kerĂźlnie,
     * akĂĄr kĂ­vĂźl akĂĄr osztĂĄlyon belĂźl definiĂĄlja. (Az inline fĂźggvĂŠnyeknek minden
     * fordítási egységben elérhetőknek kell lenniük)
     * *
     * A tesztelĂŠskor ne felejtse el beĂĄllĂ­tani a header ĂĄllomĂĄnyban az ELKESZULT makrĂłt.
     * A VC saját memóriafogyás ellenőrzője csak debug módban (Debug->Start) működik!
     *
     */
    
    #ifdef _MSC_VER
    // MSC ne adjon figyelmeztető üzenetet a stringkezelő függvényekre.
      #define _CRT_SECURE_NO_WARNINGS
    #endif
    
    #include <iostream>             // KiĂ­ratĂĄshoz
    #include <cstring>              // StringmĹąveletekhez
          // a standard headerek utĂĄn kell lennie
    #ifndef MEMTRACE
    #include "memtrace.h"
    #endif
    #include "string5.h"
    
    using std::cin;
    using std::ios_base;
    
    /// Konstruktor: egy char karakterből (createStrFromChar)
    String::String(char ch) {
       // MeghatĂĄrozzuk a hosszĂĄt
        len = 1;
        // Lefoglalunk a helyet a hossznak + a lezarĂł nullĂĄnak
        pData = new char[len+1];
        // BetesszĂźk a karaktert
        pData[0] = ch;
        pData[1] = '\0';
    }
    
    
    // Konstruktor: egy nullĂĄval lezĂĄrt char sorozatbĂłl (createStringFromCharStr)
    String::String(const char *p) {
        // MeghatĂĄrozzuk a hosszĂĄt
        len = strlen(p);
        // Helyet foglalunk
        pData = new char[len+1];
        // BemĂĄsoljuk a stringet, ami le van zĂĄrva 0-val Ă­gy hasznĂĄlhatĂł az strcpy is
        strcpy(pData, p);
    }
    
    // MĂĄsolĂł konstruktor
    String::String(const String& s1) {
        // MeghatĂĄrozzuk a hosszĂĄt
        len = s1.len;
        // Helyet foglalunk
        pData = new char[len+1];
        // BemĂĄsoljuk a stringet, ami le van zĂĄrva 0-val Ă­gy hasznĂĄlhatĂł az strcpy is
        strcpy(pData, s1.pData);
    }
    
    //Egyenlőséget vizsgáló operátor
    bool String::operator==(const String& tbc){
        //Ha nem egyezik meg a stringek hossza hamissal tér vissza
        if (len != tbc.len){
            return false;
        }