ÇÁ·Î±×·¡¹Ö

 3206, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   È£¹Ú
   C++ ÇÔ¼ö °ü·Ã Áú¹®µå¸³´Ï´Ù~

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6479 [º¹»ç]


#include <iostream>
using namespace std;

class MyString {
private:
        char *pbuf;

public:
        MyString(const char *s = NULL);
        MyString(MyString& s);
        ~MyString();

        void print();
        int getSize();
        MyString operator+(MyString& s);
};

MyString::MyString(const char *s) {
        if (s == NULL)
        {
                pbuf = new char[1];
                pbuf[0] = NULL;
        }
        else
        {
                pbuf = new char[::strlen(s) + 1];
                strcpy_s(pbuf, strlen(s) + 1, s);
        }
}

MyString::MyString(MyString &s)
{
        pbuf = new char[s.getSize() + 1];
        strcpy_s(pbuf, s.getSize() + 1, s.pbuf);
}

MyString::~MyString()
{
        if (pbuf)
                delete[] pbuf;
}

void MyString::print()
{
        cout << pbuf << endl;
}

int MyString::getSize()
{
        return strlen(pbuf);
}


MyString MyString::operator+(MyString& s) { // ¿À·ù°¡ ³ª´Â ÇÔ¼ö
        char *temp = new char[getSize() + s.getSize() + 1];
        strcpy_s(temp, getSize(), pbuf);
        strcat_s(temp,s.getSize() + 1, s.pbuf);
        MyString r(temp);
        delete[] temp;
        return r;
}

int main() {
        MyString s1("Hello ");
        MyString s2("World!");
        s2.print(); // ¿©±â±îÁø Á¤»ó ½ÇÇàµÊ.
        MyString s3 = s1 + s2;
        s1.print();
        s2.print();
        s3.print();

        return 0;
}

------------------------------------------


À§¿¡°¡ ÄÚµå ³»¿ëÀÔ´Ï´Ù. À§ Äڵ带 ½ÇÇàÇϸé

ÄÄÆÄÀÏ ½Ã¿£ ¿¡·¯°¡ ³ªÁö ¾Ê´Âµ¥ ½ÇÇà½Ã

¹öÆÛ °ø°£ÀÌ ¸ðÀÚ¶ó´Ù¸é¼­ ¿¡·¯°¡ ¶ß´õ±º¿ä. ÀÌ ÄÚµå ¿øº»Àº

3³âÀü ÃâÆÇµÈ Ã¥ÀÇ Äڵ带 ±×´ë·Î ¿Å°ÜÀûÀº °Çµ¥¿ä, ¹®Á¦Á¡ÀÌ ´Ù¸§ ¾Æ´Ñ

ÄÄÆÄÀÏ·¯¸¦ ºñÁê¾ó ½ºÆ©µð¿À 2013À¸·Î ¹Ù²Ù¸é¼­ strcpy¸¦ °æ°í°¡ ¾Æ´Ï¶ó

¿¡·¯°¡ ³ª°Ô ¹Ù²ñÀ¸·Î½á strcpy_s·Î ÀÓÀÇ·Î ¼öÁ¤Çؼ­ ¾µ ¼ö ¹Û¿¡ ¾ø´õ¶ó±¸¿ä.
±×·¡¼­ ¿ø¹®¿¡¼­ strcpy¸¦ strcpy_s, strcatµµ strcat_s·Î ¼öÁ¤Çß½À´Ï´Ù.

±×·¨´õ´Ï ÀÌ·¸°Ô ¿¹»ó¸øÇÑ ¿À·ù°¡ ³ª³×¿ä. ¾î¶»°Ô ÇØ¾ß ¿À·ù°¡ ÇØ°áµÉ±î¿ä?

  Hit : 3403     Date : 2014/07/28 07:36



    
3206   SNSÇØÅ·ÀÌ µÇ³ª¿ë? µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð¤Ð [2]     ÇÑä¹Î
02/28 343
3205   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 195
3204   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 927
3203 ºñ¹Ð±ÛÀÔ´Ï´Ù  124     minsub87
08/17 1
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2011
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1846
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1589
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2289
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1609
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 0
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5130
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2399
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4181
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4067
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3519
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4281
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3737
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3708
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3739
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org