Advertisement
neogz

Nasljedjivanje DM YT

Feb 5th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char crt[] = { "----------------------------------------\n" };
  5. class Uredjaj {
  6.     char _ID[13];
  7.     char * _naziv;
  8.     char * _proizvodjac;
  9.     float _cijena;
  10. public:
  11.     Uredjaj(char * ID, char * naziv, char * proizvodjac , float cijena){
  12.         strcpy_s(_ID, 13, ID);
  13.  
  14.         int vel = strlen(naziv) + 1;
  15.         _naziv = new char[vel];
  16.         strcpy_s(_naziv, vel, naziv);
  17.  
  18.         vel = strlen(proizvodjac) + 1;
  19.         _proizvodjac = new char[vel];
  20.         strcpy_s(_proizvodjac, vel, proizvodjac);
  21.  
  22.         _cijena = cijena;
  23.     }
  24.     Uredjaj(Uredjaj & obj){
  25.         strcpy_s(_ID, 13, obj._ID);
  26.  
  27.         int vel = strlen(obj._naziv) + 1;
  28.         _naziv = new char[vel];
  29.         strcpy_s(_naziv, vel, obj._naziv);
  30.  
  31.         vel = strlen(obj._proizvodjac) + 1;
  32.         _proizvodjac = new char[vel];
  33.         strcpy_s(_proizvodjac, vel, obj._proizvodjac);
  34.  
  35.         _cijena = obj._cijena;
  36.     }
  37.     ~Uredjaj(){
  38.         delete _naziv;
  39.         delete _proizvodjac;
  40.         _naziv = nullptr;
  41.         _proizvodjac = nullptr;
  42.     }
  43.     void info(){
  44.         cout << _ID << " / " << _naziv << " / " << _proizvodjac << " / " << _cijena << endl;
  45.     }
  46.     void powerOn(){
  47.         cout << "UKLJUCUJE SE !!!" << endl;
  48.     }
  49.     void powerOff(){
  50.         cout << "ISKLJUCUJE SE !!!" << endl;
  51.     }
  52. };
  53.  
  54. class Printer : public Uredjaj{
  55.     int _brzinaPrinta;
  56.     int _brojac = 0;
  57. public:
  58.     Printer(char * ID = "-", char * naziv = "-", char * proizvodjac = "-", float cijena = 0,int brzinaPrinta = 0):Uredjaj(ID,naziv,proizvodjac,cijena){
  59.         _brzinaPrinta = brzinaPrinta;
  60.     }
  61.     void info(){
  62.         cout <<crt<< "PRINTER\n";
  63.         Uredjaj::info();
  64.         cout << "Brzina printa: " << _brzinaPrinta << endl;
  65.         cout << "Brojac stranica: " << _brojac << endl;
  66.  
  67.     }
  68.     void print(int brojStranica){
  69.         cout << crt << "PRINTAM - " << brojStranica <<endl << crt;
  70.         for (int i = 0; i < brojStranica; i++){
  71.             cout << "Printam stranicu: " << i + 1 << endl;
  72.         }
  73.         cout << crt << "OPERACIJA USPJESNO OBAVLJENA!"<<endl << crt;
  74.         _brojac += brojStranica;
  75.     }
  76. };
  77. class Skener : public Uredjaj{
  78.     int _brzinaScana;
  79. public:
  80.     Skener(char * ID = "-", char * naziv = "-", char * proizvodjac = "-", float cijena = 0, int brzinaScana = 0) :Uredjaj(ID, naziv, proizvodjac, cijena){
  81.         _brzinaScana = brzinaScana;
  82.     }
  83.     void info(){
  84.         cout << crt << "SKENER" << endl;
  85.         Uredjaj::info();
  86.         cout << "Brzina skeniranja: " << _brzinaScana << endl;
  87.     }
  88. };
  89. int main(){
  90.  
  91.     Printer p1("1234FG4A", "LX120","HP",160.95,18);
  92.     p1.powerOn();
  93.     p1.info();
  94.     p1.print(3);
  95.     p1.print(6);
  96.  
  97.     p1.info();
  98.  
  99.     p1.powerOff();
  100.  
  101.     Skener s1("F6G1AG4", "SCX2000", "Toshiba", 349.99, 36);
  102.     s1.powerOn();
  103.     s1.info();
  104.     s1.powerOff();
  105.  
  106.     Uredjaj u1 = p1;
  107.     u1.info();
  108.  
  109.  
  110.  
  111.     system("pause > null");
  112.     return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement