Jump to content

Recommended Posts

Posted

Mostenirea reprezinta procesul prin care un obiect poate prelua prototipul altui obiect. Acest lucru este important deoarece se admite conceptul de clasificare. De exemplu daca ne gandim un mar ionatan face parte din clasificarea mar, care la randul ei face parte din clasa fructe, care se afla in marea clasa a hranei. Fara utilizarea claselor, un obiect ar trebui definit explicitandu-se toate caracteristicile sale. Insa, prin folosirea clasificarilor, un obiect are nevoie doar de definirea acelor calitati care il fac unic in clasa sa.

#include<iostream>

using namespace std;

class cladire

{

//sunt de tip private

int camere;

int etaje;

int suprafata;

//sunt de tip public

public:

void nr_camere(int numar);

int cate_camere();

void nr_etaje(int numar);

int cate_etaje();

void nr_suprafata(int numar);

int cate_suprafata();

};

//casa este derivat din cladire

class casa: public cladire

{

	int dormitoare;

	int bai;

public:

	void nr_dormitoare(int numar);

	int cate_dormitoare();

	void nr_bai(int numar);

	int cate_bai();

};

//scoala este derivat din cladire

class scoala:public cladire

{

	int sali_clasa;

	int laboratoare;

public:

	void nr_sali_clasa(int numar);

	int cate_sali_clasa();

	void nr_laboratoare(int numar);

	int cate_laboratoare();

};

void cladire::nr_camere(int numar)

{

	camere=numar;

}

void cladire::nr_etaje(int numar)

{

	etaje=numar;

}

void cladire::nr_suprafata(int numar)

{

	suprafata=numar;

}

int cladire::cate_camere()

{

	return camere;

}

int cladire::cate_etaje()

{

	return etaje;

}

int cladire::cate_suprafata()

{

return suprafata;

}

void casa::nr_dormitoare(int numar)

{

	dormitoare=numar;

}

void casa::nr_bai(int numar)

{

	bai=numar;

}

int casa::cate_dormitoare()

{

	return dormitoare;

}

int casa::cate_bai()

{

	return bai;

}

void scoala::nr_sali_clasa(int numar)

{

	sali_clasa=numar;

}

void scoala::nr_laboratoare(int numar)

{

	laboratoare=numar;

}

int scoala::cate_sali_clasa()

{

  return sali_clasa;

}

int scoala::cate_laboratoare()

{

	return laboratoare;

}

int main()

{

	casa h; //avem un obiect de tip "casa"

	scoala s; //si unul de tip "scoala"

	h.nr_camere(12); //setam numarul de camere al casei

	h.nr_etaje(3); //nr de etaje

	h.nr_suprafata(4500); //suprafata

	h.nr_dormitoare(6); //dormitoare

	h.nr_bai(4); //nr de bai

	cout<<"casa are "<<h.cate_dormitoare();

	cout<<" dormitoare\n";

	s.nr_camere(16);

	s.nr_sali_clasa(80);

	s.nr_laboratoare(15);

	s.nr_suprafata(1200);

	cout<<"scoala are "<<s.cate_sali_clasa();

	cout<<" sali de clasa ";

	cout<<" suprafata este de"<< s.cate_suprafata();

 system("PAUSE");

 return 0;

}

Daca nu am fi folosit mostenirea, pentru obiectul de tip scoala de exemplu, ar fi trebuit sa definim din nou metoda nr_camere.

  • Upvote 2
  • 4 weeks later...

Posted

deci casa si scoala capata exact aceleasi trasaturi (alea raman tot publice/private) si functii, si variabile, ca si cladire? obtinem acelasi efect ca si cand am fi copiat continutu.

love is a verb
Love is a doing word

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.