Witam właśnie jestem po przerobieniu 5. odcinka kursu obiektowego C++ pana Mirosława, więc zasiadłem do zrobienia zadania domowego z tego filmu. Gdy chciąłem skompilować program napisany na tym filmie ujrzałem taki komunikat:
Z racji że jakiś miesiąc temu zacząłem też czytać Opus Magnum C++11 myślę, że naturalna jest rzeczą, że wymieniłem domyślny kompilator Code::Blocks na obsługujący C++11 (TDM-GCC-32) i wiedząc to jedną z pierwszych rzeczy które zrobiłem było ręczne przywrócenie tego pierworodnego, gdy to nie pomogło, ponownie wgrałem ten poprzedni. Wiem, że prawdopodobnie najłatwiej byłoby preinstalować Code::Blocks'a, ale ja jednak wolałbym znac przyczynę problemu na przyszłość. Z góry zaznaczam też, że pozostałe "właściwości" biblioteki math.h działają poprawnie, typu potęgowanie, wartość bezwzględna itp..
Przepraszam też za ewentualne niedopowiedzenia, ale gdyby takie były proszę o upomnienie mnie.
Z góry dziękuje :)
Edit: A tutaj kod:
#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
{
float r;
string nazwa;
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 np="S", float a=0, float b=0, float pr=1)
:Punkt(np,a,b)
{
nazwa = nk;
r = pr;
}
};
int main()
{
Kolo k1;
k1.wyswietl();
return 0;
}