potrzebuje pomocy przy uzyciu jakby argumentow konstruktora klasy kolo do klasy kula, jest to przyklad z odcinka Pana Zelenta o dziedziczeniu, moze zle zrozumialem temat i ktos moglby cos podpowiedziec :). Pozdrawiam
#include <iostream>
#include <string>
#include <cmath>
#include <math.h>
#include <cstdlib>
#include <iomanip>
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 po klasie punkt ale zajebioza
{
float r;
string nazwa;
public:
void wyswietl()
{
cout << "Kolo o nazwie: " << nazwa << endl;
cout << "Srodek kola: ";
punkt::wyswietl();
cout << endl << "Promien: " << r << endl;
cout << "Pole kola: " << M_PI * r * r << endl;
}
kolo(string nk="kolko", string np="S", float a=2, float b=2, float pr=1)
:punkt(np,a,b)
{
nazwa = nk;
r = pr;
}
};
class kula:public kolo
{
string nazwa;
string srodek;
float AK,BK,KR;
long double obj;
public:
kula(string NN,string sr,float ak,float bk,float kr) :kolo( NN, sr, ak, bk, kr)
{
nazwa = NN;
srodek = sr;
AK = ak;
BK = bk;
KR = kr;
}
const double pi = 3.14;
void kkk()
{
cout<<"\nNazwa kuli to: "<<nazwa<<endl;
cout<<"Nazwa srodka kuli to: "<<srodek<<endl;
cout<<"Dlugosc punktu A kuli to: "<<AK<<endl;
cout<<"Dlugosc punktu B kuli to: "<<BK<<endl;
cout<<"Dlugosc promienia kuli to: "<<KR<<endl;
obj= 4/3 * pi * pow(KR,3);
cout<<setprecision(10)<<"Objetosc kuli to: "<< obj <<endl;
}
};
/*
zadanie domowe:
dodaj klase o nazwie kula ktora bedzie miala nowy prywatny atrybut przechowujacy nazwe tej kuli, ta nazwa przeslosni odziedziczona nazwe z klasy kolo
Nowe metody:
-konstruktor z wykorzystaniem listy inicjalizacyjnej z konstruktora klasy kolo
-void wyswietl() ktora pokaze parametry tej kuli a dodatkowo obliczy objetosc na podstawie jej promienia
wzór na objetosc kuli:
4
V = --- PI r^3 (pi r do potegi trzeciej)
3
*/
int main()
{
kolo k1("Kolo","A",4,2,3);
k1.wyswietl();
kula a("nazewko","D",2,2,5);
a.kkk();
}