WItam mam problem z błędem no matching function for call Trojkat::Trojkat, czyli z błędem konstruktora zapewne, tylko nie mam pojecia jak go naprawić
#include <iostream>
#include <vector>
using namespace std;
class Figura
{
public:
virtual void pole()=0;
};
class Trojkat : public Figura
{
float a,h;
public:
Trojkat(float d, float e)
{
a=d;
h=e;
}
virtual void pole()
{
cout<< "Podaj bok trojkata: ";
cin>>a;
cout<< "Podaj wysokosc trojkata: ";
cin>>h;
cout<<"Pole trojkata wynosi: "<<(a*h)/2<<endl;;
}
};
class Kwadrat : public Figura
{
float a;
public:
float Kwadratt(float x)
{
a=x;
}
public:
virtual void pole()
{
cout<< "Podaj bok kwadratu: ";
cin>>a;
cout<<"Pole kwadratu wynosi: "<<a*a<<endl;
};
};
class Kolo : public Figura
{
float r;
public:
int Koloo(float x)
{
r=x;
}
virtual void pole()
{
cout<< "Podaj promien kola: ";
cin>>r;
cout<<"Pole kola wynosi: "<< 3.14*r*r<<endl;
}
};
class Generator_Figur
{
vector<Figura*> vec;
public:
void dodajTrojkat()
{
Trojkat tr1;
Figura* x= &tr1;
vec.push_back(x);
}
void dodajKwadrat()
{
Kwadrat kw1;
Figura* x=&kw1;
vec.push_back(x);
}
void dodajKolo()
{
Kolo ko1;
Figura* x=&ko1;
vec.push_back(x);
}
Figura*PobierzFigure_o_Indeksie(int i)
{
return vec[i];
}
};
int main()
{
int a,b;
int wybor;
Generator_Figur vec;
cout << "Witaj mordo!"<<endl;
while(1)
{
cout <<endl<< "Jaka figure chcesz utworzyc?" << endl;
cout << "1.Kwadrat" << endl;
cout << "2.Trojkat" << endl;
cout << "3.Kolo" << endl;
cout << "Wybor: ";
cin >> wybor;
switch(wybor)
{
case 1:
{
vec.dodajKwadrat();
vec.PobierzFigure_o_Indeksie(1);
// Kwadrat.pole();
}
break;
case 2:
{
vec.dodajTrojkat();
vec.PobierzFigure_o_Indeksie(2);
Trojkat tr1;
tr1.pole();
}
break;
case 3:
{
vec.PobierzFigure_o_Indeksie(3);
Kolo ko1;
ko1.pole();
}
break;
default:
{
cout<< "Nie ma takiej liczby mordo!"<<endl;
}
break;
}
}
return 0;
}