#include <cmath>
#include "pch.h"
#include <iostream>
#include <string>
#define M_PI 3.14159265358979323846
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;
protected:
float r;
public:
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 n = "S", float a = 0, float b = 0, float pr = 1)
:Punkt(n, a, b)
{
nazwa = nk;
r = pr;
}
};
class Kula :public Kolo //klasa Kula dziedziczy publicznie z klasy Kolo
{
string nazwa; //wszystkie inne atrybuty sa dziedziczone, tylko nazwa bedzie inna
public:
void wyswietl()
{
Kula::wyswietl(); //wyswietla sie punkt i kolo
cout << "Objetosc kuli : " << 4 / 3 * M_PI* r *r *r << endl; //dodatkowo wyswietlenie objetosci kuli
}
Kula(string nk2 = "Kula", string n = "S", float a = 0, float b = 0, float pr = 1)
:Kolo(n, a, b, pr)
{
nazwa = nk2;
}
};
int main()
{
Kula k1;
k1.wyswietl();
return 0;
}
Gdzie jest błąd w tym kodzie?
Wyskakuje błąd
Błąd C2664 „Kolo::Kolo(Kolo &&)”: nie można dokonać konwersji argumentu 2 z „float” do „std::string”
żadne wystąpienie konstruktora "Kolo::Kolo" nie jest zgodne z listą argumentów