Piszę sobie program ćwicząc zastosowanie konstruktorów przy je
#include <iostream>
using namespace std;
class Event
{
public:
int year;
int day;
int mouth;
int godzina, minuta;
string nazwa;
Event(string n, int y, int m, int d,int g, int mins)
{
//to co dostal event niech wpisze do atrybutow
//kolejnosc ma znaczenie bo program czyta od LEWEJ DO PRAWEJ, czyli "nazwie przypisz to co ma n"
nazwa=n;
year=y;
mouth=m;
day=d;
godzina=g;
minuta=mins;
}
void zapisz()
{
cout<<"Podaj nazwe wydarzenia: "<<endl;
cin>>nazwa;
cout<<"Podaj rok,miesiac i dzien tego wydarzenia: "<<endl;
cin>>year>>mouth>>day;
cout<<"Podaj godzine i minute : "<<endl;
cin>>godzina>>minuta;
}
void pokaz()
{
cout<<"Twoje wydarzenie: "<<endl;
cout<<nazwa<<year<<"."<<mouth<<"."<<day<<endl;
cout<<"Godzina: "<<godzina<<":"<<minuta;
}
};
/*--------------------------------------------------------------------*/
/*DRUGI PRZYKLAD KONSTRUKTORA DOMYSLNEGO */
//dziedzicze aby nie pisac funkcji od nowa
class DomyslnyEvent:public Event
{
public:
// nazwa rodzica Event zostaje przyslonieta nazwa tutejsza
string nazwa;
//konstruktor domyslny !
DomyslnyEvent(string nazwa= "Domyslna",int year=1999, int mouth=1,int day=1,int godzina=10, int minuta=30){};
//wywolanie metody z klasy Event
Event::pokaz();
};
int main()
{ Event w1("Urodzinki",2015,8,23,10,00);
w1.pokaz();
DomyslnyEvent w2;
w2.pokaz();
return 0;
}
esnym dziedziczeniu
Jest pewien problem mianowicie chcialem w 1 pliku wywloac najpierw obiekt z wartosciami konstruktora nie domyslnego, tutaj [ W1 ]
Drugi obiekt z clasy DomyslnyEvent-
Wiadomo do w1- inicjuje wartosci, bo nie ma konstruktora domyslnego, jednak do w2[OBIEKTU KLASY Z DOMYSLNYM KONSTRUKTOREM] nie wpisalem jednak wysypuja mi sie bledy
Kod jak u góry.Dalej błedy jakie wysypują się to :
ISO C++ forbids declaration of 'pokaz' with no type [-fpermissive]|
cannot declare member function 'Event::pokaz' withi'DomyslnyEvent'
In constructor 'DomyslnyEvent::DomyslnyEvent(std::string, int, int, int, int, int)':||
no matching function for call to 'Event::Event()'|
itp. generalnie co tu jest zrobione nie tak? Podejzewam, ze jakby wywolanie funkcji pokaz traktuje jako element klasy Event i potrzebuje wartosci. Z góry dzieki za pomoc i zainteresowanie !