Dziedziczenie, polimorfizm i tego typu atrakcje

0

Mam problem z wysypującym sie kodem z wykorzystaniem dziedziczenia i przyslaniania. Sa sobie dwie klasy - jedna dziedziczaca po drugiej:

A.h

class AAA {
public:
    virtual int funkcja();
};

A.cpp

int AAA::funkcja()
{
    return 100;
}

B.h

class BBB: public AAA {
public:
    int funkcja();
};

B.cpp

int BBB::funkcja()
{
    return 500;
}

I teraz korzystam sobie z tego:
AAA *a = new AAA(); //dziala
BBB *b = new BBB(); //z ta linijka jest juz blad przy kompilacji

[Linker Error] Unresolved external 'BBB::funkcja()' referenced from C:\PROGRAM FILES (X86)\BORLAND\CBUILDER5\PROJECTS\TEST\TEST.OBJ

Ogolnie zmierzam do tego ze chce korzystac z:
b->funkcja()

Problem pewnie jest trywialny i z cala pewnoscia gdzies cos przeoczylem. Bede wdzieczny za wskazowke.

0

A mógłbyś przesłać cały kod programu?

0

Na oko to zrobiłeś compile & run dla jednego pliku i nie zlinkował ci w jedną binarkę wszystkich plików źródłowych.
Poza tym ten twój testujący jest bez sensu :P Miałby sens jakby tam było
AAA *b = new BBB();

1 użytkowników online, w tym zalogowanych: 0, gości: 1