De ce nu imi este afisat x.
Nu inteleg, x-ul este returnat de functia getX(), si apoi este apelata functia in clasa derivata SecondClass
printr-un obiect de tipul FirstClass si tot nu imi este afisat x-ul.
#include <iostream>
using namespace std;
class FirstClass
{
private:
int x;
public:
FirstClass()
{
cout << "\n Apel constructor implicit FirstClass()." << endl;
}
FirstClass(int x)
{
cout << "\n Apel constructor cu parametri FirstClass()." << endl;
this->x = x;
cout << "\n X = " << x << endl;
}
int getX()
{
return x;
}
};
class SecondClass:protected FirstClass
{
private:
int y;
public:
SecondClass(int x):FirstClass(x)
{
cout << "\n Apel constructor cu parametri SecondClass()." << endl;
}
void printX(FirstClass& obj)
{
cout << "\n X = " << obj.getX() << endl;
}
};
int main()
{
FirstClass box1;
SecondClass box2(100);
box2.printX(box1);
return 0;
}