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

funkcja do 2 klas

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
186 wizyt
pytanie zadane 15 sierpnia 2020 w C i C++ przez lujasjeden Użytkownik (860 p.)
edycja 15 sierpnia 2020 przez lujasjeden

isInteger()  - funkcja sprawdzajaca czy podana liczba wpisana jest całkowita

Tutaj mam 1 klase wirtualna i 2 klasy pochodne

#include <iostream>

using namespace std;

class Polynomial
{
public:
    virtual void gather()=0;
    virtual void show()=0;
};

class Wx :public Polynomial
{
protected:
    string userStringNum;
    int degree;
    int helper;
    float *coefficients;

public:
    virtual void gather();
    virtual void show();
    void isInteger();
    Wx(string="0", int=0, int=0);
    ~Wx();

};

class Px :public Wx
{
public:
    virtual void gather();
    virtual void show();
    Px(string="0", int=0, int=0);
    ~Px();
};

I ogolnie tą funkcje moglbym uzyc w obu pochodnych klasach w ich funkcjach gather(), jak to zrobic?

bo mam np cialo Wx::gather

#include <iostream>
#include "polynomials.h"
using namespace std;

void Wx::gather()
{
    cout<<"Input degree of polynomial W(x): ";
    cin>>Wx::degree;
//i teraz tu bym chcial wywolac funkcje isInteger
    cout<<endl;
}

Jak zapisac cialo funkcji isInteger no bo musze wpisac Wx::isInteger albo Px::isInteger no ale ja chce ja uzywac zaleznie od tego co potrzebuje a chyba istnieje sposob aby nie pisac tego samego 2 razy, czy tutaj sprawdzi sie przyjazn? (nie wiem),

komentarz 15 sierpnia 2020 przez DragonCoder Nałogowiec (36,500 p.)
Albo uzywasz po prostu klasy bazowej i nie tworzysz funkcji wirtualnej. Rownie d8brze, mozesz stworzyc sobie obiekt klasy w klasie i uzywac go.

Nie widze sensu uzywanis funkcji isIntege. Napisz kod:

Zmienna typu integer, strumien wejscia, podaj liczbe flost i wyswietl i zobacz co sie stanie

1 odpowiedź

0 głosów
odpowiedź 26 sierpnia 2020 przez Author[] Gaduła (3,130 p.)
Niepotrzebnie korzystasz z klasy wirtualnej, pamiętaj że klasa może dziedziczyć z kilku klas. Stwórz jeszcze jedną klasą i ustaw dziedziczenie dla dwóch pozostałych klas. W tej klasie zrób funkcję i w ten sposób masz jedną funkcję dla dwóch klas

Podobne pytania

0 głosów
1 odpowiedź 219 wizyt
0 głosów
1 odpowiedź 241 wizyt
pytanie zadane 16 grudnia 2019 w C i C++ przez Adam Kowalski Użytkownik (630 p.)
+1 głos
3 odpowiedzi 2,101 wizyt

93,187 zapytań

142,201 odpowiedzi

322,012 komentarzy

62,514 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2127p. - dia-Chann
  2. 2092p. - Łukasz Piwowar
  3. 2079p. - Łukasz Eckert
  4. 2037p. - Tomasz Bielak
  5. 2006p. - Michal Drewniak
  6. 2006p. - rucin93
  7. 2005p. - Łukasz Siedlecki
  8. 1964p. - CC PL
  9. 1946p. - Adrian Wieprzkowicz
  10. 1901p. - Mikbac
  11. 1744p. - rafalszastok
  12. 1734p. - Anonim 3619784
  13. 1586p. - Dawid128
  14. 1520p. - Marcin Putra
  15. 1480p. - ssynowiec
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...