Analiza kodu

0

Witam,

mam problem z pewnym zadaniem:

"Załóż następujące definicje obiektów klas."
Kod:

#include <iostream>

using namespace std;

class A
{
protected:
    int a;

public:
    A(int aa):a(aa){};
    virtual int f(){return a+1;}
    int g(){return a-2;}
};

class B: public A
{
protected:
    int b;

public:
    B(int aa, int bb): A(aa)
    {
        this->b = bb;
    }
    virtual int f(){return a+b;}
    int g(){return a-b;}
};

int main()
{
    A a(3);
    B b(4,2);
    A *pa=&a;
    B *pb=&b;
    a=b;
    pa=pb;

    cout << a.f() << endl;
    cout << a.g() << endl;
    cout << b.f() << endl;
    cout << b.g() << endl;
    cout << pa->f() << endl;
    cout << pa->g() << endl;
    cout << pb->f() << endl;
    cout << pb->g() << endl;

    return 0;
}
 

Po kompilacji widzę wyniki, ale nie potrafię powiedzieć skąd się wzięły. Chciałbym to zrozumieć krok po kroku.
Widzę listę inicjalizacyjną, ale jestem dość świeży w temacie.

Pozdrawiam

2

Użyj debugera.

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