• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z zadaniem domowym z kursu object c++ (odcinek 5)

Object Storage Arubacloud
0 głosów
200 wizyt
pytanie zadane 17 października 2015 w C i C++ przez Oskar Michalkiewicz Nowicjusz (120 p.)

Witam! Otóż w zadaniu domowym chodziło o pokazanie atrybutów kuli za pomocą dziedziczenia z wcześniej utworzonej klasy pokazującej atrybuty koła. Program wyświetla mi parametry koła po czym wyskakuje błąd mówiący, że program przestał działać. Nie mam pojęcia co schrzaniłem, proszę o wytłumaczenie mi błędu. dziękuje.

#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
{
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 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:
    void wyswietl()
    {
        Kolo:wyswietl();
        cout<<"Objetosc kuli: "<<(4*M_PI*r*r*r)/3<<endl;
    }
    Kula(string nku="Kolka",string ns="S",float a=0,float b=0, float pr=1)
    :Kolo(nku,ns,a,b,pr)
    {
        nazwa=nku;
    }
};
int main()
{
    Kolo k1;
    k1.wyswietl();

    Kula ku1;
    ku1.wyswietl();
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 17 października 2015 przez maly Nałogowiec (37,190 p.)
class Kula :public Kolo
{
    string nazwa;

public:
    void wyswietl()
    {
        Kolo:wyswietl();
        cout<<"Objetosc kuli: "<<(4*M_PI*r*r*r)/3<<endl;
    }
    Kula(string nku="Kolka",string ns="S",float a=0,float b=0, float pr=1)
    :Kolo(nku,ns,a,b,pr)
    {
        nazwa=nku;
    }
};

Problem jest tu, zapomniałeś dodać drugiego dwukropka i teraz 'Kolo:' to label dla goto a metoda 'wyświetl()' wywołuje samą siebie(rekurencyjnie) aż do wysypania się aplikacji.

komentarz 17 października 2015 przez Oskar Michalkiewicz Nowicjusz (120 p.)
Dziękuje bardzo, mam jeszcze jedno pytanie. Czy dało by radę w jakiś sposób wywołąć samą nazwę klasy? Chodzi o to że strasznie gryzie mnie po oczach kiedy podczas wywołania kuli wciąż wyświetla mi komunikaty z koła i zamiast np. środek kuli napisane jest środek koła. Chciałem to rozwiązać w ten sposób aby zawrzeć w tych komentarzach jakby odnośnik do nazwy klasy.

Podobne pytania

0 głosów
1 odpowiedź 953 wizyt
pytanie zadane 14 maja 2016 w C i C++ przez BroZor Nowicjusz (150 p.)
+1 głos
2 odpowiedzi 179 wizyt
pytanie zadane 5 kwietnia 2016 w C i C++ przez Gravity Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 242 wizyt
pytanie zadane 8 lipca 2017 w C i C++ przez Kacper Paluch Nowicjusz (150 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...