#include <cstdlib>
#include <iostream>
using namespace std;
vodi funkcja(C& obiekt)
{
...
}
class A{
public:
int zmienna;
int funkcja(klasa & obiekt) {
return obiekt.zmienna;
}
};
class B : public A
{
....
}
class C : public B
{
//tutaj na pewno jest ok.
}
int main(int argc, char *argv[])
{
A *obiekt = new C();
funkcja(*obiekt); //próbowałem już i innych kombinacji jak było źle
}
Schemat jest ok, czy nie?
Komunikat błedu jak mówiłem
C:\dane\aktywne\pilka\main.cpp||In function 'int main()':|
C:\dane\aktywne\pilka\main.cpp|69|error: invalid initialization of reference of type 'C&' from expression of type 'A'|
C:\dane\aktywne\pilka\main.cpp|41|error: in passing argument 1 of 'void funkcja(C&)'|
== Build finished: 2 errors, 0 warnings ===
Klasy działają poprawnie. Śmigam na nich bez problemu.