Documente Academic
Documente Profesional
Documente Cultură
Culoare PDF
Culoare PDF
rosu, orange, albastru, verde, nedefinita), cu metode uzuale si metoda afisare(). Derivati o clasa
Culoare-ext care va stoca o valoare intreaga ptr intensitate (0-255) si va contine, pe langa
metodele uzuale , metoda afisare() ptr afisarea tuturor datelor unei culori (pe linii separate), o
supraincarcare a operatorului de insertie, o supraaincarcare a operatorului +(cu metoda membra) ce
se aplica la culori de aceeasi denumire si aduna intensitatile.
In functia main:
- Initializati elem tabloului cu valori la alegere (primele doua folosind contrucotrul cu parametri ,
restul folosind construcotrul fara parametri si metode accessor) astfel incat sa avem cel putin doua
culori cu aceeasi denumire dar cu intensitati diferite
-Scrieti un obiect din tablou intr-un fisier cu numele citit de la tastatura folosind supraincarcarile din
clasa
- Aplicati operatorul + ptr doua culori din tablou si afisati rezultatul la consola
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
class Culoare
{
protected:
char culoare[DIM];
public:
Culoare(){strcpy(culoare, nedefinit);}
virtual void afisare() {cout << "Culoarea este: " << culoare;}
};
class CuloareExt :public Culoare
{
int intensitate;
public:
CuloareExt() {intensitate = 0;}
void afisare()
{
cout << "Culoarea: " << culoare;
cout << "\nIntensitatea: " << intensitate;
}
int main()
{
Culoare c1(rosu);
Culoare c2;
c2.setCul(orange);
c1.afisare();
cout << endl;
c2.afisare();
CuloareExt* TabCulori = new CuloareExt[4];
TabCulori[0] = CuloareExt(123, rosu);
TabCulori[1] = CuloareExt(234, albastru);
TabCulori[2] = CuloareExt();
TabCulori[2].setCul(verde);
TabCulori[2].setInt(111);
TabCulori[3] = CuloareExt();
TabCulori[3].setCul(verde);
TabCulori[3].setInt(11);
cout << endl;
TabCulori[0].afisare();
cout << endl;
TabCulori[1].afisare();
cout << endl;
TabCulori[2].afisare();
cout << endl;
TabCulori[3].afisare();
char numeFis[DIM];
cout << "\n\nCititi numele fisierului: ";
cin.getline(numeFis, DIM);
ofstream file(numeFis, ios::out);
file << TabCulori[3];
file.close();
CuloareExt ce1 = TabCulori[2] + TabCulori[3];
cout << "\nSuma: \n\n";
ce1.afisare();
sort(&TabCulori[0], &TabCulori[3], sortByIntensitate);
cout << "\n\nTabloul sortat: \n";
for (int i = 0; i < 4; i++)
{
cout << endl;
TabCulori[i].afisare();
}
delete[]TabCulori;
cin.ignore();
cin.get();
return 0;
}