#include <iostream>
#include <string.h>   // для функций strcpy, strcat
#include <stdlib.h>   // для функции exit
using namespace std;

class String          
{
private:
    enum { SZ = 80 }; 
    char str[SZ];     
public:
    String()
    {
        strcpy(str, "");
    }
    String(char s[])
    {
        strcpy(str, s);
    }
    void display() const
    {
        cout << str;
    }
    String operator += (String ss) const
    {
        String temp;                 
        if (strlen(str) + strlen(ss.str) < SZ)
        {
            strcpy(temp.str, str);   // копируем содержимое первой строки
            strcat(temp.str, ss.str);// добавляем содержимое второй строки
        }
        else
        {
            cout << "\nПереполнение!";
            exit(1);
        }
        return temp;                 // возвращаем результат
    }
};

int main()
{
    system("chcp 1251 > nul");

    String s1 = "\nHappy New Year!  "; /* Ошибка: не существует подходящего конструктора для переобразования из "const char[19]" в "String" */
    String s2 = "Merry Christmas!";   
    String s3;                      
    s1.display();
    s2.display();
    s3.display();

    s3 = s1 += s2;

    s3.display();
    cout << endl;
    cin.get();
    return 0;
}