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