26      1.   -   C++?

 (friend)     ,   
-  ,    .

  string4.cpp

//  +

class my_string {
public:

my_string() { len =0; s = new char[l]; }
. explicit my_string(int n){ s = new char[n + 1]; len = n; }

void assign(const char* st);

int length() const { return len; }

void print() const

{ cout  s  "\: "  len  endl; }

my_string& operator=(const my_string& a);

friend my_string& operator+

(const my_string& a, const my_string& b) ;

private:

char* s;

int len;

};

// +

my_string& operator+(const my_string& a, const my_string& b)

{

my_string* temp = new my_string(a.len + b.len);

strcpy(fcemp->s, a.s);

strcat(temp->s, b.s);

return *temp;

}

void print(const char* c) //print    

//(   print  my_string!)
{

cout    ": "  strlen(c)  endl;

1

int main()
{

my_string one, two, both;

char three[40] = {"   ."};

one.assign("   .");

two.assign(three) ;

print(three); // print    

//     one  two
if (one.length() <= two.length())

one.print(); // - print