Mam problem z konstruktorem w klasie Kula. Kompilator wywala mi -
error: no matching function for call to 'Kolo::Kolo(std::string&, float&, float&, float&)'|
#include <iostream>
#include <math.h>
using namespace std;
class Punkt
{
float x,y;
string nazwa;
public:
void wyswietl()
{
cout<<nazwa<<"("<<x<<","<<y<<")"<<endl;
}
Punkt(string n="S", float a=0, float b=0)
{
nazwa = n;
x = a;
y = b;
}
};
class Kolo :public Punkt //klasa Kolo dziedziczy publicznie z klasy Punkt
{
string nazwa;
public:
float r;
void wyswietl()
{
cout<<"Kolo o nazwie: "<<nazwa<<endl;
cout<<"Srodek kola: "<<endl;
Punkt::wyswietl();
cout<<"Promien: "<<r<<endl;
cout<<"Pole kola : "<<M_PI*r*r<<endl;
}
Kolo(string nk="Kolko", string np="S", float a=0, float b=0, float pr=1)
:Punkt(np,a,b)
{
nazwa = nk;
r = pr;
}
};
//////////////////////////////////////////////
class Kula : public Kolo
{
string nazwa;
public:
Kula(string nku="Kulka",string sro="S",float a=0, float b=0, float p=0)
:Kolo(sro,a,b,p)
{
nazwa=nku;
}
};
int main()
{
Kula k1;
return 0;
}
Korzystając z okazji mam pytanie
Jak ma zrobić inicjalizację konstruktora jeśli chce wyuskać tylko niektóre dane?