Wednesday, May 21, 2014

#5 Objektni nasledjivanje profesor klasa nasledjuje osoba klasu

#include <iostream>
using namespace std;
class c_osoba{
private:
string ime;
string prezime;

public:
c_osoba();
string getIme();
string getPrezime();
void setIme(string _ime);
void setPrezime(string _prezime);

};
 c_osoba::c_osoba(){
// neradi nista u ovom slucaju
}
string c_osoba::getIme(){
return this->ime;
}
string c_osoba::getPrezime(){
return this->prezime;
}
void c_osoba::setIme(string _ime){
this->ime=_ime;
}
void c_osoba::setPrezime(string _prezime){
this->prezime=_prezime;
}
// nasledjivanje
// profesor je prosirena osoba
//tj klasa profesor nasledjuje atribute i metode osobe
class c_profesor:public c_osoba{
private:
string predaje;
public:
c_profesor();
void setPredaje(string _predaje);
string getPredaje();

};
c_profesor::c_profesor(){
//nema nist u konstruktoru
// poziva konstruktor od svoga roditelja
c_osoba();
}
string c_profesor::getPredaje(){
return this->predaje;
}
void c_profesor::setPredaje(string _predaje){
this->predaje=_predaje;
}
int main (){

// primer osobe
  c_osoba *osoba=new c_osoba();

 
  //stavlajm u objekat ime i prezime
  osoba->setIme("petar");
  osoba->setPrezime("petrovic");
  //ispis iz objekta osoba na ekran
  cout << "*** Ispis osobe ***"<<endl;
  cout <<"osoba.ime="<<osoba->getIme()<<endl;
  cout << "osoba.prezime="<<osoba->getPrezime()<<endl<<endl;
 
   // primer profesora
   c_profesor *profesor=new c_profesor();
 
 
   // stavljam u objeat pprofesor ime,prezime i predaje (ime,prezime nasledjeno)
   profesor->setIme("profa");
   profesor->setPrezime("profic");
   profesor->setPredaje("matematika");
 
  //ispis iz objekta profesor na ekran (ispisi imena i prezimena nasledjeni)
  cout<<"*** Ispis profesora ***"<<endl;
  cout<<"profesor.ime="<<profesor->getIme()<<endl;
  cout<<"profesor.prezime="<<profesor->getPrezime()<<endl;
  cout<<"profesor.predaje="<<profesor->getPredaje()<<endl;
 
  delete osoba;
  delete profesor;
  //ako je potrebno da ceka ako nije komentarisi //cin.ignore();
  cin.ignore();
  return 1;
 
}