👤

URGENT!! C++

Se vor completa/folosi 3 fisiere separate:

String.h descris in documentul pdf

String.cpp descris in documentul pdf

main.cpp descris mai jos

In funcția main se citesc de la tastatura, pe linii separate:

- sir de caractere care poate conține spatii cu care se construiește obiectul String s1

- sir de caractere care poate conține spatii cu care se construiește obiectul String s2

- sir de caractere cu care se construiește obiectul String s3

- sir de caractere cu care se construiește obiectul String s4

- valoare întreaga n

- valoare întreaga m



Se aplică următoarele etape de prelucrare:

s1 -= s3;

s2 -= s4;

s2 -= s4;

s5< >m;

s5.afisare();



Exemplu:

Date de intrare:

carmen sare coarda

sare mare tare bare

ar

are

5

12

Date de intrare:

codasmtbcmense
-------------------------------
Requested files
String.cpp
#include "String.h"

String::String(const char* str)
{

}

String::String(const char& c)
{

}

//etc

String.h
// NU SE MODIFICA


#ifndef STRING_H
#define STRING_H

class String
{ char* s=nullptr;
int d=0;

public:
String() = default;
String(const char*);
String(const char&);
String(const String& );
~String();

String& operator=(const String& );
char& operator[] (int );
const char& operator[] (int p) const;
String& operator+= (const String& );
String operator+ (const String& );
String& operator-= (const String& );
bool operator== (const String& );
String& operator<<(int n);
String& operator>>(int n);

int Count(const char& c);
String& xorEncrypt(const String &key);
String& xorDecrypt(const String &key);
void afisare();
void afisareASCII();

};

#endif // STRING_H

main.cpp