#include<iostream.h> #include<string.h> class Anystring { private: int count; char str[30]; public: Anystring(); Anystring(const char*); ~Anystring(); void str_length(); // void str_reverse(); //문 뒤 void str_count_same_char(); // 문를 void str_delete_white_space(); //빈 Anystring operator+(const Anystring &string1); //const; // + 문 friend ostream& operator<<(ostream & os, const Anystring & a_string); // << 문 }; Anystring::Anystring() { str[0]=''; } Anystring::Anystring(const char* tempstr) { strncpy(str, tempstr, 30); } Anystring::~Anystring() { } void Anystring::str_length() { count=0; while(str[count]!='') count++; cout<<"문 는 "<<count<<"."<<endl; } void Anystring::str_reverse() { count=0; while(str[count]!='') count++; while(count!=0){ cout<<str[count-1]; count--; } } void Anystring::str_count_same_char() { count=0; char input_char; cout<<" 문를 : "; cin>>input_char; cout<<input_char<<"n"; for(int i=0;i<30;i++){ if(str[i]==input_char) count++; } cout<<input_char<<"는 문 "<<count<<" ."<<endl; } void Anystring::str_delete_white_space() { count=0; while(str[count]!='') count++; for(int i=0;i<30;i++){ if(str[i]==' '){ for(int j=i;j<count;j++) str[j]=str[j+1]; } } cout<<str<<endl; } Anystring Anystring::operator+(const Anystring &string1) //const { count=0; while(str[count]!='') count++; Anystring temp_string; strncpy(temp_string.str, str, 30); int i=0; while(string1.str[i]!=''){ temp_string.str[count+i]=string1.str[i]; i++; } return temp_string; } ostream& operator<<(ostream& os, const Anystring & a_string) { os<<a_string.str<<endl; return os; } int main() { int input; Anystring string0("asdf asdf"); Anystring string1("qwer qwer"); Anystring temp_string; cout<<"==========String Of C++====================="<<endl; cout<<"1. 문 를 내는 능"<<endl; cout<<"2. 문 만들 는 능"<<endl; cout<<"3. 는 문 를 는 능"<<endl; cout<<"4. 문 는 백 는 능"<<endl; cout<<"5. + 를 문 "<<endl; cout<<"6. <<를 문 "<<endl; cout<<"============================================"<<endl; cout<<" 메뉴 번는?(7 르면 료): "; cin>>input; switch(input) { case 1: string0.str_length(); break; case 2: string0.str_reverse(); break; case 3: string0.str_count_same_char(); break; case 4: string0.str_delete_white_space(); break; case 5: temp_string=string0+string1; cout<<temp_string; break; case 6: cout<<string0; break; default: break; } cout<<"료.n"; return 0; }