¹®ÀÚ¿ class´Â ÇÁ·Î±×·¡¹Ö¿¡¼ °¡Àå Áß¿äÇÑ °Íµé Áß ÇϳªÀ̰í, ¹®ÀÚ¿ Á¶Á¤À» À§ÇØ ¸Å¿ì ¸¹ÀÌ ¾²ÀδÙ. ¹®ÀÚ¿ class´Â ¿©·¯°¡Áö°¡ ÀÖ°í, ¹°·Ð À̵éÀ» »ó¼Ó¹ÞÀ½À¸·Î½á ÀڽŸ¸ÀÇ ¹®ÀÚ¿ class¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.
ÀÌ ¹®¼¿¡ ¾²¿©Áø ¹®ÀÚ¿ Ŭ·¡½º´Â 23Àý¸¦ º¸¾Æ¶ó.
Ç¥ÁØ C++ ¶óÀ̺귯¸® string class (ANSI/ISO string class http://www.msoe.edu/eecs/cese/resources/stl/string.htm ¿Í http://www.sgi.com/tech/stl/basic_string.html
QtÀÇ ¿ÜºÎ ¶óÀ̺귯¸®¿¡ ÀÖ´Â Qt String class http://doc.trolltech.com/qstring.html , mirror : http://www.cs.berkeley.edu/~dmartin/qt/qstring.html
À̵é Áß ¸¾¿¡ µå´Â °ÍÀÌ ¾ø´Ù¸é, ÀڽŸ¸ÀÇ ¹®ÀÚ¿ Ŭ·¡½º¸¦ ¸¸µé ¼öµµ ÀÖ´Ù. À§¿¡ ¾ð±ÞµÈ Çϳª ȤÀº ¿©·¯ class¸¦ »ó¼Ó¹Þ¾Æ ¸¸µé ¼öµµ ÀÖ´Ù.
À§¿¡ ¸»ÇÑ °Í °°ÀÌ, Çϳª ȤÀº ¿©·¯ class¸¦ »ó¼Ó¹Þ¾Æ ÀڽŸ¸ÀÇ ¹®ÀÚ¿ class¸¦ ¸¸µé ¼öµµ ÀÖ´Ù. ¿©±â¼´Â Ç¥ÁØ C++ ¶óÀ̺귯¸®ÀÇ string class¿Í ºÎ·Ï AÀÇ String class ¸¦ »ó¼Ó¹ÞÀ½À¸·Î½á ´ÙÁß»ó¼ÓÀ» ÀÌ¿ëÇÑ ¹®ÀÚ¿ class¸¦ ¸¸µé¾î º¼ °ÍÀÌ´Ù.
¿ì¼± ¿¹Á¦ ÆÄÀÏ 'string_multi.h'¸¦ 23Àý ¿¡¼ ´Ù¿î·Îµå ¹Þ¾Æ¶ó.
ÀÌ ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù :
// ****************************************************************** // String class¿Í Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ "string" class¸¦ »ó¼Ó¹ÞÀ½À¸·Î½á // Á÷Á¢ ¹®ÀÚ¿ class¸¦ ¸¸µé¾îº¸´Â ¿¹½Ã¸¦ À§ÇÑ ÇÁ·Î±×·¥ // ****************************************************************** #ifndef __STRING_MULTI_H_ALDEV_ #define __STRING_MULTI_H_ALDEV_ #include <string> #include "String.h" #include "StringBuffer.h" #ifdef NOT_MSWINDOWS #else using namespace std; // MS Visual C++ compiler Version 6.0 ¿¡¼ ÇÊ¿äÇÔ. #endif // Áß¿ä! : C++¿¡¼´Â »ý¼ºÀÚ, ÆÄ±«ÀÚ, º¹»ç ¿¬»êÀÚ°¡ °°ÀÌ »ó¼ÓµÇÁö ¾Ê´Â´Ù. // µû¶ó¼ ¸¸¾à =, + µîÀÇ ¿¬»êÀÚ°¡ base class¿¡ Á¤ÀǵǾî ÀÖ°í, base // classÀÇ »ý¼ºÀÚ¸¦ ÀÌ¿ëÇÑ´Ù¸é, ¹Ýµå½Ã °°Àº ¿ªÇÒÀ» ÇÏ´Â »ý¼ºÀÚ¸¦ // »ó¼Ó¹Þ´Â class¿¡µµ ¸¸µé¾îÁÖ¾î¾ß ÇÑ´Ù. // ¾Æ·¡¿¡ ÁÖ¾îÁø mystring(), mystring(char [])¸¦ º¸¾Æ¶ó. // // ¶ÇÇÑ atmpstrÀÌ mystringÀ¸·Î ¼±¾ðµÇ¾ú´Ù°í ÇÒ ¶§, atmpstr + mstr // °ú °°ÀÌ ¿¬»êÀÚ¸¦ ¾µ ¶§, ½ÇÁ¦·Î ºÒ¸®´Â °ÍÀº atmpstr.operator+(mstr)ÀÌ´Ù. class mystring:public String, string { public: mystring():String() {} // =, + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(char bb[]):String(bb) {} // =, + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(char bb[], int start, int slength):String(bb, start, slength) {} mystring(int bb):String(bb) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(unsigned long bb):String(bb) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(long bb):String(bb) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(float bb):String(bb) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(double bb):String(bb) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÏ´Ù mystring(const String & rhs):String(rhs) {} // + ¿¬»êÀÚ¸¦ À§ÇØ ÇÊ¿äÇÑ Copy Constructor mystring(StringBuffer sb):String(sb) {} // Java¿ÍÀÇ È£È¯À» À§ÇØ mystring(int bb, bool dummy):String(bb, dummy) {} // StringBuffer class¸¦ À§ÇØ int mystraa; // mystringÀÇ ÃÖÀûÈ private: int mystrbb; // mystringÀÇ ÃÖÀûÈ }; #endif // __STRING_MULTI_H_ALDEV_ |