[C++] dziedziczenie(?) funkcji

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
bart13
Sędziwy Jeż
Sędziwy Jeż
Posty: 75
Rejestracja: 14 lut 2008, 14:28
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[C++] dziedziczenie(?) funkcji

Post autor: bart13 »

Witam. Czy istnieje mozliwosc wykonania w C++ funckje ktora znajduje sie w klasie B a pozniej tej znajdujacej sie w A. Klasy oczywiscie sa polaczone. Moj kod wyglada tak:

Kod: Zaznacz cały

/* ... */
class A
{
    public:
    int jakis_int;
    void wypisz_inty()
    {
        printf("jakis_int=%i\n", jakis_int);
    }
};

class B : public A
{
    public:
    int inny_int;
    void wypisz_inty()
    {
        printf("inny_int=%i\n", inny_int);
    }
};
 
int main() 
{
    B b;
    b.jakis_int = 1;
    b.inny_int  = 2;
    b.wypisz_inty(); 
    cout << "Hello world!" << endl; 
    return 0; 
}
Wynik programu to oczywiscie:
inny_int=2
A ja chcialbym, zeby wykonal tez funkcje z klasy A, czyli zeby wynik byl:
jakis_int=1
inny_int=2
kof
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 08 cze 2010, 10:20
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [C++] dziedziczenie(?) funkcji

Post autor: kof »

Tak, istnieje taka możliwość.

Kod: Zaznacz cały

#include <iostream>

class A
{
public:
    void showText();
};

void A::showText()
{
    std::cout << "12345";
}


class B : public A
{
public:
    void showText();
};

void B::showText()
{
    A::showText();
    std::cout << "6789";
}

int main(void)
{
    B object;
    object.showText();
    return 0;
}
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości