#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; }