Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Mostenire clase  (Citit de 2324 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
stelian_2681
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« : Iulie 16, 2016, 19:23:05 »

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.


Cod:
#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;
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines