Advertisement
neogz

KLASE - konstruktori, destruktori

Nov 12th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Student {
  5.     int _brojIndexa;
  6.     char * _imePrezime;
  7.     char _spol;
  8.  
  9.     public:
  10.         ///////////////////////////
  11.         //konstruktori
  12.         Student(){
  13.             _brojIndexa = 0;
  14.  
  15.             int vel = 12;
  16.             _imePrezime = new char[12];
  17.             strcpy_s(_imePrezime, vel, "----- -----");
  18.  
  19.             _spol = '-';
  20.         }
  21.         Student(int index, char * imePrezime, char spol){
  22.             _brojIndexa = index;
  23.  
  24.             int vel = strlen(imePrezime) + 1;
  25.             _imePrezime = new char[vel];
  26.             strcpy_s(_imePrezime, vel, imePrezime);
  27.  
  28.             _spol = spol;
  29.         }
  30.         /////////////////////
  31.         //get
  32.         void info(){
  33.             cout << "Broj indexa je: " << _brojIndexa << endl;
  34.             cout << "Ime prezime: \t" << _imePrezime << endl;
  35.             if (_spol == 'M' || _spol == 'm') cout << "Spol - \t\tMuski" << endl;
  36.             else if (_spol == 'Z' || _spol == 'z') cout << "Spol: \t\tZenski" << endl;
  37.             else cout << "Spol: \t\t-" << endl;
  38.             cout << "-------------------------------------\n";
  39.         }
  40.         int getBrojIndexa()const{return _brojIndexa;}
  41.         char * getImePrezime()const{ return _imePrezime; }
  42.         char getSpol()const{ return _spol; }
  43.         /////////////////////
  44.         //set
  45.         void setBrojIndexa(int index){
  46.             if (index > 0) _brojIndexa = index;
  47.  
  48.         }
  49.         void setImePrezime(char * imePrezime){
  50.             int vel = strlen(imePrezime) + 1;
  51.             _imePrezime = new char[vel];
  52.             strcpy_s(_imePrezime, vel, imePrezime);
  53.     }
  54.         void setSpol(char spol){
  55.         _spol = spol;
  56.     }
  57.         /////////////////////
  58.         // destruktor
  59.         ~Student(){
  60.             delete[] _imePrezime;
  61.             _imePrezime = nullptr;
  62.         }
  63. };
  64.  
  65. int main(){
  66.  
  67.     Student a(69, "Nedim Fejzic", 'M');
  68.     a.info();
  69.  
  70.     Student b;
  71.     b.info();
  72.  
  73.     Student * pok = new Student(70, "Duracell Baterije", 'm');
  74.     pok->info();
  75.  
  76.     delete pok;
  77.     pok = nullptr;
  78.  
  79.     system("pause > null");
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement