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

Problem z błędem no matching function for call

Object Storage Arubacloud
0 głosów
694 wizyt
pytanie zadane 12 kwietnia 2019 w C i C++ przez wojtbart Nowicjusz (120 p.)

WItam mam problem z błędem  no matching function for call Trojkat::Trojkat, czyli z błędem konstruktora zapewne, tylko nie mam pojecia jak go naprawić

#include <iostream>
#include <vector>

using namespace std;

class Figura
{
    public:
        virtual void pole()=0;
};

class Trojkat : public Figura
{
    float a,h;
    public:
    Trojkat(float d, float e)
    {
        a=d;
        h=e;
    }
    virtual void pole()
    {
        cout<< "Podaj bok trojkata: ";
        cin>>a;
        cout<< "Podaj wysokosc trojkata: ";
        cin>>h;
        cout<<"Pole trojkata wynosi: "<<(a*h)/2<<endl;;
    }
};
class Kwadrat : public Figura
{
    float a;

    public:
    float Kwadratt(float x)
    {
        a=x;
    }
    public:
    virtual void pole()
    {
        cout<< "Podaj bok kwadratu: ";
        cin>>a;
        cout<<"Pole kwadratu wynosi: "<<a*a<<endl;
    };

};
class Kolo : public Figura
{
    float r;

    public:
    int Koloo(float x)
    {
        r=x;
    }
    virtual void pole()
    {
        cout<< "Podaj promien kola: ";
        cin>>r;
        cout<<"Pole kola wynosi: "<< 3.14*r*r<<endl;
    }
};
class Generator_Figur
{

 vector<Figura*> vec;

    public:
    void dodajTrojkat()
    {
        Trojkat tr1;
        Figura* x= &tr1;
        vec.push_back(x);
    }
    void dodajKwadrat()
    {
        Kwadrat kw1;
        Figura*  x=&kw1;
        vec.push_back(x);
    }
    void dodajKolo()
    {
        Kolo ko1;
        Figura* x=&ko1;
        vec.push_back(x);
    }
    Figura*PobierzFigure_o_Indeksie(int i)
    {
        return vec[i];
    }
};

int main()
{
    int a,b;
    int wybor;
    Generator_Figur vec;
    cout << "Witaj mordo!"<<endl;
 while(1)
{


    cout <<endl<< "Jaka figure chcesz utworzyc?" << endl;
    cout << "1.Kwadrat" << endl;
    cout << "2.Trojkat" << endl;
    cout << "3.Kolo" << endl;
    cout << "Wybor: ";
    cin >> wybor;

    switch(wybor)
    {
        case 1:
        {
            vec.dodajKwadrat();
            vec.PobierzFigure_o_Indeksie(1);
           // Kwadrat.pole();
        }
        break;

        case 2:
        {
            vec.dodajTrojkat();
            vec.PobierzFigure_o_Indeksie(2);
            Trojkat tr1;
            tr1.pole();
        }
        break;

        case 3:
        {
            vec.PobierzFigure_o_Indeksie(3);
            Kolo ko1;
            ko1.pole();
        }
        break;

        default:
                {
                cout<< "Nie ma takiej liczby mordo!"<<endl;
                }
        break;
    }
}
    return 0;
}

 

komentarz 12 kwietnia 2019 przez Szahid Pasjonat (20,930 p.)
która linia

1 odpowiedź

0 głosów
odpowiedź 12 kwietnia 2019 przez Szahid Pasjonat (20,930 p.)
Linia 72.  Tworzysz objekt Trójkat ale nie podajesz  parametrow a oraz h. A przeciez  tworząc konstruktor  je zadeklarowałes. To samo  w innych  objektach
komentarz 12 kwietnia 2019 przez wojtbart Nowicjusz (120 p.)
Dzięki wielkie, działa :)
komentarz 12 kwietnia 2019 przez Szahid Pasjonat (20,930 p.)
spoko

Podobne pytania

0 głosów
2 odpowiedzi 6,713 wizyt
pytanie zadane 25 lipca 2016 w C i C++ przez MatrixBMW Początkujący (360 p.)
0 głosów
1 odpowiedź 444 wizyt
0 głosów
1 odpowiedź 278 wizyt
pytanie zadane 21 października 2016 w C i C++ przez PaulW Początkujący (470 p.)

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 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!

...