Перегрузка операции сложения для строковых данных типа 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;
}

//------------------------------------------------------------------------------------------------

Хакинг | Главная | Программирование

Hosted by uCoz