#include #include "str.h" String* F() { return new String("xyz"); } String* G() { return new String("abcdefgh"); } String* H() { return new String("i"); } String FS() { // return String("xyz"); // op = is protected } String GS() { // return String("abcdefgh"); // ditto } String HS() { // return String("i"); // ditto } main () { String* s1 = new String(""); String* s2 = new String(""); String* s3 = new String(""); String* s4 = new String(-1000000); String* s5 = new String(0); String* s6 = new String(1000000); String ss1(""), ss2(""), ss3(""); s1 = F(); s2 = G(); s3 = H(); cout << s1->Convert() << endl; cout << s2->Convert() << endl; cout << s3->Convert() << endl; cout << s4->Convert() << endl; cout << s5->Convert() << endl; cout << s6->Convert() << endl; cout << (*s3 + "x")->Convert() << endl; cout << ("x" + *s3)->Convert() << endl; cout << (*(new String("x")) + *s3)->Convert() << endl; cout << (*s3 + *s2)->Convert() << endl; cout << (*s2 + *s3)->Convert() << endl; cout << (s1 == s2) << endl; cout << (*s1 == *s2) << endl; cout << (*s1 < *s2) << endl; cout << (*s1 > *s2) << endl; cout << (*s1 <= *s2) << endl; cout << (*s1 >= *s2) << endl; cout << ((*s1)[2]) << endl; cout << endl; ss1.~String(); // ss1 = FS(); // op = is protected // ss2 = GS(); // ditto // ss3 = HS(); // ditto cout << ss1.Convert() << endl; cout << ss2.Convert() << endl; cout << ss3.Convert() << endl; }