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

Praca domowa obiektowy cpp odc.5

0 głosów
637 wizyt
pytanie zadane 12 października 2015 w C i C++ przez TenTakiTam Bywalec (2,460 p.)
edycja 14 października 2015 przez TenTakiTam

Nie wiem co tu jest źle:


#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 = "P", 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: ";
        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 //klasa Kula dziedziczy publicznie z klasy Kolo
{
    string nazwa;

public:
    void wyswietl()
    {
        cout<<"Kula o nazwie: "<<nazwa<<endl;
        cout<<"Srodek kuli: ";
        Punkt::wyswietl();
        cout<<"Promien: "<<r<<endl;
        cout<<"Obientosc kuli: "<<(M_PI*r*r*r)/(4/3)<<endl;
    }

    Kula(string nk = "kulka", string np = "K", float a = 0, float b = 0, float pr = 10)
    :Punkt(np, a, b)
    {
        nazwa = nk;
        r = pr;
    }

};

int main()
{
    Punkt p1;
    p1.wyswietl();

    cout<<endl<<endl;

    Kolo k1;
    k1.wyswietl();

    cout<<endl<<endl;

    Kula ku1;
    ku1.wyswietl();


    return 0;
}

Błędy, które wyrzuca kompilator:

||=== Build: Debug in dziedziczenie (compiler: GNU GCC Compiler) ===|
D:\Users\WGodlewski\Desktop\projekty\cpp\opp\dziedziczenie\main.cpp||In constructor 'Kula::Kula(std::string, std::string, float, float, float)':|
D:\Users\WGodlewski\Desktop\projekty\cpp\opp\dziedziczenie\main.cpp|66|error: type 'Punkt' is not a direct base of 'Kula'|
D:\Users\WGodlewski\Desktop\projekty\cpp\opp\dziedziczenie\main.cpp|68|error: 'nku' was not declared in this scope|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

 

Jako że jestem początkujący to prosze o wyjaśnienie jak dla 6-ścio latka. Dziękuje.

komentarz 6 stycznia 2019 przez Juniorforum Nowicjusz (180 p.)
Panowie, ktoś wie czemu takie coś się dzieje bo sam mam podobny problem i jestem ciekaw.

2 odpowiedzi

0 głosów
odpowiedź 12 października 2015 przez draghan VIP (106,230 p.)
A co Ci się złego dzieje? :)
0 głosów
odpowiedź 12 października 2015 przez Szahid Pasjonat (20,970 p.)
Napisz jakie błędy wyrzuca Ci kompilator.
komentarz 12 października 2015 przez draghan VIP (106,230 p.)
Niekoniecznie musi chodzić o błędy leksykalne - równie dobrze program może poprawnie się kompilować, ale działać niekoniecznie zgodnie z zamierzeniem autora. ;)

Stąd lepszym pytaniem jest to, czego autor pytania oczekiwał i co w rezultacie swoich działań otrzymał. :)

Podobne pytania

0 głosów
1 odpowiedź 305 wizyt
pytanie zadane 4 czerwca 2018 w C i C++ przez KlemensGak Bywalec (2,390 p.)
–3 głosów
2 odpowiedzi 970 wizyt
pytanie zadane 1 marca 2016 w C i C++ przez Nowicjusz89 Obywatel (1,050 p.)
0 głosów
2 odpowiedzi 437 wizyt

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,328 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...