Перегрузка операции сложения для строковых данных типа
char.
C помощью операции сложения происходит суммирование двух строк.
//------------------------------------------------------------------------------------------------
#include <iostream>
#include <conio.h>
#include <string.h> //Для
фукции strcpy strcat
#include <stdlib.h> //Для
exit
using namespace std;
class String
{
private:
enum {MZ=50};
char str[MZ];
public:
String () //Конструктор без
параметров задает изначально пустую строку
{strcpy(str, "");}
String (char s[]) //Конструктор
с параметром типа char требуется для реализации
{strcpy(str, s);} //перегрузки операции сложения
void display()
{cout<<str;}
String operator+(String ss) const //Перегрузка
операции сложения
{
String temp;
if(strlen(str) + strlen(ss.str)<MZ)
{
strcpy(temp.str, str); //Копируем в temp.str
strcat(temp.str, ss.str); //Добавляем в конец temp.str
return temp;
}
else
{
cout<<"P e r e p o l n e n i e!!!"; //Случай
переполнения буфера!
exit(1);
}
}
};
//////////////////////////////////////////////////////////////////
int main()
{
String s1, s2, s3;
s1 = "Happy New Year!!!";
s2 = " Chuvaki!";
s3=s1+s2;
s3.display();
getch();
return 0;
}
//------------------------------------------------------------------------------------------------