No older revisions available
No older revisions available
~cpp
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class myString{
private:
//char* ch;
public:
char* ch;
myString() {
ch = NULL;
};
myString(const char* ch) {
this->ch = new char[strlen(ch)+1];
strcpy(this->ch, ch);
//this->ch = ch;
};
myString(const myString& s) {
this->ch = new char[strlen(s.ch)+1];
strcpy(this->ch, s.ch);
};
~myString() {
delete [] ch;
};
int length() const {
int temp = strlen(ch);
return temp;
};
void operator = (const myString& s) {
this->ch = new char[strlen(s.ch)+1];
strcpy(this->ch, s.ch);
};
char& operator[] (int n) {
return *(ch+n);
};
//friend ostream& operator << (ostream& o, myString &s);
};
ostream& operator << (ostream& o, const myString& s) {
o << s.ch;
return o;
}
istream& operator >> (istream& i, myString& s) {
if(s.ch==NULL)
delete[] s.ch;
s.ch = new char[255];
i >> s.ch;
return i;
}
int main()
{
myString s = "12345";
cout << s[2] << endl;
s[2] = 'x';
cout << s<<endl;
/*myString s1, s2;
s1 = "123";
s2 = s1;
cout << s1 << s2;
/*myString s1 = "123", s2;
s2 = s1;
cout << s1 << s2;
/*myString s1, s2;
s1 = "123";
s2 = s1;
cout << s1 << s2 <<endl;
/*myString s1 = "123";
myString s2 = s1;
cout << s2;
/*const myString s = "123";
myString s2 = "4567";
cout << s << s.length() << endl;
cout << s2 <<endl;
/*myString s;
cout << "string? : ";
cin >> s;
cout << "input string : " << s <<endl;
*/
return 0;
}