Witam,
Mam takie zadanie. "Napisać klasę Data, która posiada dzień, miesiąc, rok. Napisać dwa konstruktory. Konstruktor domyślny ma ustawić datę na 1 stycznia 2006 roku, inny konstruktor ma mieć parametry określające datę" oraz "Przeciążyć operator '+=' dodający do daty określoną liczbę dni".
Napisałem tyle:
#include <iostream>
#include <string>
using namespace std;
class Data
{
public:
// pola
int dzien;
string miesiac;
int rok;
// konstruktor
Data();
// konstruktor param
Data(int dzien, string miesiac, int rok);
// przeladowany operator
Data operator+=(int liczba);
};
// definicja konstruktora domyslnego
Data::Data()
{
dzien = 1;
miesiac = "styczen";
rok = 2006;
}
// def konstruktora param
Data::Data(int aDzien, string aMiesiac, int aRok)
{
dzien = aDzien;
miesiac = aMiesiac;
rok = aRok;
}
// def operatora ++
Data Data::operator+=(int liczba)
{
Data rezultat;
rezultat.dzien = this->dzien + liczba;
return rezultat;
}
// deklaracja
void pokaz(Data ddd);
int main()
{
Data data, data2;
data = dzien+=5;
pokaz(data);
return 0;
}
void pokaz(Data ddd)
{
cout << "dzien " << ddd.dzien
<< " miesiac " << ddd.miesiac
<< " rok " << ddd.rok << endl;
}
Wywala mi errora w GCC
In function 'int main()':
error: 'dzien' was not declared in this scope